]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdFileContents.java
fix the problem that if no data updated in wizard editors, the Save indicator will...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdFileContents.java
CommitLineData
a13899c5 1/** @file\r
2 Java class SpdFileContents is used to parse spd xml file.\r
3 \r
4Copyright (c) 2006, Intel Corporation\r
5All rights reserved. This program and the accompanying materials\r
6are licensed and made available under the terms and conditions of the BSD License\r
7which accompanies this distribution. The full text of the license may be found at\r
8http://opensource.org/licenses/bsd-license.php\r
9\r
10THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12**/\r
13package org.tianocore.frameworkwizard.packaging.ui;\r
14\r
15import java.io.File;\r
16import java.io.IOException;\r
17import java.util.ArrayList;\r
18import java.util.List;\r
19import java.util.ListIterator;\r
20import java.util.Vector;\r
21\r
a13899c5 22\r
23import org.apache.xmlbeans.XmlObject;\r
24import org.apache.xmlbeans.XmlOptions;\r
25import org.apache.xmlbeans.XmlCursor;\r
26\r
a13899c5 27import org.tianocore.GuidDeclarationsDocument;\r
28\r
29import org.tianocore.LibraryClassDeclarationsDocument;\r
30\r
31import org.tianocore.ModuleTypeDef;\r
32import org.tianocore.MsaFilesDocument;\r
33import org.tianocore.PackageDefinitionsDocument;\r
34import org.tianocore.PackageHeadersDocument;\r
35import org.tianocore.PackageSurfaceAreaDocument;\r
36import org.tianocore.PcdDataTypes;\r
37import org.tianocore.PcdDeclarationsDocument;\r
a13899c5 38import org.tianocore.PpiDeclarationsDocument;\r
39import org.tianocore.ProtocolDeclarationsDocument;\r
40import org.tianocore.SpdHeaderDocument;\r
41import org.tianocore.GuidDeclarationsDocument.GuidDeclarations;\r
a13899c5 42\r
43/**\r
44 This class processes spd file contents such as add remove xml elements.\r
45 \r
46 @since PackageEditor 1.0\r
47**/\r
48\r
49public class SpdFileContents {\r
50\r
51 private File file = null;\r
52\r
53 private PackageSurfaceAreaDocument psad = null;\r
54\r
55 private PackageSurfaceAreaDocument.PackageSurfaceArea psaRoot = null;\r
56\r
57 private SpdHeaderDocument.SpdHeader spdHdr = null;\r
58 \r
59 private PackageDefinitionsDocument.PackageDefinitions spdPkgDefs = null;\r
60 \r
61 private LibraryClassDeclarationsDocument.LibraryClassDeclarations spdLibClassDeclarations = null;\r
62\r
63 private MsaFilesDocument.MsaFiles spdMsaFiles = null;\r
64\r
65 private PackageHeadersDocument.PackageHeaders spdModHdrs = null;\r
66\r
67 private GuidDeclarationsDocument.GuidDeclarations spdGuidDeclarations = null;\r
68\r
69 private ProtocolDeclarationsDocument.ProtocolDeclarations spdProtocolDeclarations = null;\r
70\r
71 private PpiDeclarationsDocument.PpiDeclarations spdPpiDeclarations = null;\r
72\r
73 private PcdDeclarationsDocument.PcdDeclarations spdPcdDefinitions = null;\r
74\r
75 /**\r
76 Constructor to create a new spd file\r
77 **/\r
78 public SpdFileContents() {\r
79\r
80 psad = PackageSurfaceAreaDocument.Factory.newInstance();\r
81 psaRoot = psad.addNewPackageSurfaceArea();\r
82\r
83 }\r
84\r
85 /**\r
86 Constructor for existing document object\r
87 @param psa\r
88 **/\r
89 public SpdFileContents(PackageSurfaceAreaDocument.PackageSurfaceArea psa) {\r
90 psaRoot = psa;\r
91 spdHdr = psaRoot.getSpdHeader();\r
92 spdPkgDefs = psaRoot.getPackageDefinitions();\r
93 }\r
94 /**\r
95 Constructor based on an existing spd file\r
96 \r
97 @param f Existing spd file\r
98 **/\r
99 public SpdFileContents(File f) {\r
100 try {\r
101 psad = PackageSurfaceAreaDocument.Factory.parse(f);\r
102 psaRoot = psad.getPackageSurfaceArea();\r
103 file = f;\r
104 } catch (Exception e) {\r
105 System.out.println(e.toString());\r
106 }\r
107 }\r
108\r
109 /**\r
110 Remove existing pcd definitions elements using XmlCursor\r
111 **/\r
112 public void removeSpdPcdDefinition() {\r
113 XmlObject o = psaRoot.getPcdDeclarations();\r
114 if (o == null)\r
115 return;\r
116 XmlCursor cursor = o.newCursor();\r
117 cursor.removeXml();\r
118 spdPcdDefinitions = null;\r
119 cursor.dispose();\r
120 }\r
121 \r
122 public void removeSpdPcdDefinition(int i){\r
123 XmlObject o = psaRoot.getPcdDeclarations();\r
124 if (o == null)\r
125 return;\r
126 XmlCursor cursor = o.newCursor();\r
127 if (cursor.toFirstChild()) {\r
128 for (int j = 0; j < i; ++j) {\r
129 cursor.toNextSibling();\r
130 }\r
131 cursor.removeXml();\r
af25df16 132 if (getSpdPcdDefinitionCount() == 0) {\r
133 cursor.toParent();\r
134 cursor.removeXml();\r
135 }\r
a13899c5 136 } \r
137 cursor.dispose();\r
138 }\r
139\r
140 /**\r
141 Remove existing ppi declarations using XmlCursor\r
142 **/\r
143 public void removeSpdPpiDeclaration() {\r
144 XmlObject o = psaRoot.getPpiDeclarations();\r
145 if (o == null)\r
146 return;\r
147 XmlCursor cursor = o.newCursor();\r
148 cursor.removeXml();\r
149 spdPpiDeclarations = null;\r
150 cursor.dispose();\r
151 }\r
152\r
153 public void removeSpdPpiDeclaration(int i){\r
154 XmlObject o = psaRoot.getPpiDeclarations();\r
155 if (o == null)\r
156 return;\r
157 XmlCursor cursor = o.newCursor();\r
158 if (cursor.toFirstChild()) {\r
159 for (int j = 0; j < i; ++j) {\r
160 cursor.toNextSibling();\r
161 }\r
162 cursor.removeXml();\r
af25df16 163 if (getSpdPpiDeclarationCount() == 0){\r
164 cursor.toParent();\r
165 cursor.removeXml();\r
166 }\r
a13899c5 167 } \r
168 cursor.dispose();\r
169 }\r
170 /**\r
171 Remove existing protocols declarations using XmlCursor\r
172 **/\r
173 public void removeSpdProtocolDeclaration() {\r
174 XmlObject o = psaRoot.getProtocolDeclarations();\r
175 if (o == null)\r
176 return;\r
177 XmlCursor cursor = o.newCursor();\r
178 cursor.removeXml();\r
179 spdProtocolDeclarations = null;\r
180 cursor.dispose();\r
181 }\r
182 \r
183 public void removeSpdProtocolDeclaration(int i) {\r
184 XmlObject o = psaRoot.getProtocolDeclarations();\r
185 if (o == null)\r
186 return;\r
187 XmlCursor cursor = o.newCursor();\r
188 if (cursor.toFirstChild()) {\r
189 for (int j = 0; j < i; ++j) {\r
190 cursor.toNextSibling();\r
191 }\r
192 cursor.removeXml();\r
af25df16 193 if (getSpdProtocolDeclarationCount() == 0) {\r
194 cursor.toParent();\r
195 cursor.removeXml();\r
196 }\r
a13899c5 197 }\r
198 cursor.dispose();\r
199 }\r
200 /**\r
201 Remove existing GUID declarations using XmlCursor\r
202 **/\r
203 public void removeSpdGuidDeclaration() {\r
204 XmlObject o = psaRoot.getGuidDeclarations();\r
205 if (o == null)\r
206 return;\r
207 XmlCursor cursor = o.newCursor();\r
208 cursor.removeXml();\r
209 spdGuidDeclarations = null; \r
210 cursor.dispose();\r
211 }\r
212 \r
213 public void removeSpdGuidDeclaration(int i) {\r
214 XmlObject o = psaRoot.getGuidDeclarations();\r
215 if (o == null)\r
216 return;\r
217 XmlCursor cursor = o.newCursor();\r
218 if (cursor.toFirstChild()) {\r
219 for (int j = 0; j < i; ++j) {\r
220 cursor.toNextSibling();\r
221 }\r
222 cursor.removeXml();\r
af25df16 223 if (getSpdGuidDeclarationCount() == 0) {\r
224 cursor.toParent();\r
225 cursor.removeXml();\r
226 }\r
a13899c5 227 } \r
228 cursor.dispose();\r
229 }\r
230\r
231 /**\r
232 Remove existing spd package include files using XmlCursor\r
233 **/\r
234 public void removeSpdPkgHeader() {\r
235 XmlObject o = psaRoot.getPackageHeaders();\r
236 if (o == null)\r
237 return;\r
238 XmlCursor cursor = o.newCursor();\r
239 cursor.removeXml();\r
240 spdModHdrs = null;\r
241 cursor.dispose();\r
242 }\r
243 \r
244 public void removeSpdPkgHeader(int i){\r
245 XmlObject o = psaRoot.getPackageHeaders();\r
246 if (o == null)\r
247 return;\r
248 XmlCursor cursor = o.newCursor();\r
249 if (cursor.toFirstChild()) {\r
250 for (int j = 0; j < i; ++j) {\r
251 cursor.toNextSibling();\r
252 }\r
253 cursor.removeXml();\r
af25df16 254 if (getSpdPackageHeaderCount() == 0) {\r
255 cursor.toParent();\r
256 cursor.removeXml();\r
257 }\r
a13899c5 258 } \r
259 cursor.dispose();\r
260 }\r
261\r
262 /**\r
263 Remove existing msa files using XmlCursor\r
264 **/\r
265 public void removeSpdMsaFile() {\r
266 XmlObject o = psaRoot.getMsaFiles();\r
267 if (o == null)\r
268 return;\r
269 XmlCursor cursor = o.newCursor();\r
270 cursor.removeXml();\r
271 spdMsaFiles = null;\r
272 cursor.dispose();\r
273 }\r
274 \r
275 public void removeSpdMsaFile(int i){\r
276 XmlObject o = psaRoot.getMsaFiles();\r
277 if (o == null)\r
278 return;\r
279 XmlCursor cursor = o.newCursor();\r
280 if (cursor.toFirstChild()) {\r
281 for (int j = 0; j < i; ++j) {\r
282 cursor.toNextSibling();\r
283 }\r
284 cursor.removeXml();\r
af25df16 285 if (getSpdMsaFileCount() == 0) {\r
286 cursor.toParent();\r
287 cursor.removeXml();\r
288 }\r
a13899c5 289 }\r
290 cursor.dispose();\r
291 }\r
292\r
293 /**\r
294 Remove existing library class declarations using XmlCursor\r
295 **/\r
296 public void removeSpdLibClass() {\r
297 XmlObject o = psaRoot.getLibraryClassDeclarations();\r
298 if (o == null)\r
299 return;\r
300 XmlCursor cursor = o.newCursor();\r
301 cursor.removeXml();\r
302 spdLibClassDeclarations = null;\r
303 cursor.dispose();\r
304 }\r
305 \r
306 public void removeSpdLibClass(int i) {\r
307 XmlObject o = psaRoot.getLibraryClassDeclarations();\r
308 if (o == null)\r
309 return;\r
310 XmlCursor cursor = o.newCursor();\r
311 if (cursor.toFirstChild()) {\r
312 for (int j = 0; j < i; ++j) {\r
313 cursor.toNextSibling();\r
314 }\r
315 cursor.removeXml();\r
af25df16 316 if (getSpdLibClassDeclarationCount() == 0) {\r
317 cursor.toParent();\r
318 cursor.removeXml();\r
319 }\r
a13899c5 320 }\r
321 cursor.dispose();\r
322 }\r
323 \r
324 public void updateSpdLibClass(int i, String lib, String hdr, String hlp, String clsUsage, String instanceVer, String hdrAttribArch, String hdrAttribModType) {\r
325 XmlObject o = psaRoot.getLibraryClassDeclarations();\r
326 if (o == null)\r
327 return;\r
328 \r
329 XmlCursor cursor = o.newCursor();\r
330 if (cursor.toFirstChild()) {\r
331 for (int j = 0; j < i; ++j) {\r
332 cursor.toNextSibling();\r
333 }\r
334 LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass lc = (LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass)cursor.getObject();\r
335 lc.setName(lib);\r
336 lc.setIncludeHeader(hdr);\r
337 lc.setHelpText(hlp);\r
338 if (clsUsage != null) {\r
97796eaa 339 lc.setRecommendedInstanceGuid(clsUsage);\r
340 if (instanceVer != null){\r
a13899c5 341 lc.setRecommendedInstanceVersion(instanceVer);\r
97796eaa 342 } else {\r
322b7723 343 if (lc.isSetRecommendedInstanceVersion()) {\r
344 lc.unsetRecommendedInstanceVersion();\r
345 }\r
97796eaa 346 }\r
347 } else {\r
322b7723 348 if (lc.isSetRecommendedInstanceGuid()) {\r
349 lc.unsetRecommendedInstanceGuid();\r
350 }\r
d129bd96 351 if (lc.isSetRecommendedInstanceVersion()) {\r
352 lc.unsetRecommendedInstanceVersion();\r
353 }\r
a13899c5 354 }\r
97796eaa 355\r
a13899c5 356 if (stringToList(hdrAttribArch) != null){\r
97796eaa 357 lc.setSupArchList(stringToList(hdrAttribArch));\r
358 } else {\r
322b7723 359 if (lc.isSetSupArchList()) {\r
360 lc.unsetSupArchList();\r
361 }\r
a13899c5 362 }\r
363 if (stringToList(hdrAttribModType) != null){\r
97796eaa 364 lc.setSupModuleList(stringToList(hdrAttribModType));\r
365 } else {\r
322b7723 366 if (lc.isSetSupModuleList()) {\r
367 lc.unsetSupModuleList();\r
368 }\r
a13899c5 369 }\r
370 }\r
371 \r
372 cursor.dispose();\r
373 }\r
374 \r
375 public void updateSpdMsaFile(int i, String msaFile, String mName, String v, String g){\r
376 XmlObject o = psaRoot.getMsaFiles();\r
377 if (o == null)\r
378 return;\r
379 \r
380 XmlCursor cursor = o.newCursor();\r
381 if (cursor.toFirstChild()) {\r
382 for (int j = 0; j < i; ++j) {\r
383 cursor.toNextSibling();\r
384 }\r
385 cursor.setTextValue(msaFile);\r
386\r
387 }\r
388 \r
389 cursor.dispose();\r
390 }\r
391\r
392 public void updateSpdGuidDecl(int i, String name, String cName, String guid, String hlp, String archList, \r
393 String modTypeList, String guidTypeList){\r
394 XmlObject o = psaRoot.getGuidDeclarations();\r
395 if (o == null){\r
396 return;\r
397 }\r
398 \r
399 XmlCursor cursor = o.newCursor();\r
400 if (cursor.toFirstChild()) {\r
401 for (int j = 0; j < i; ++j) {\r
402 cursor.toNextSibling();\r
403 }\r
404 GuidDeclarationsDocument.GuidDeclarations.Entry e = (GuidDeclarationsDocument.GuidDeclarations.Entry)cursor.getObject();\r
405 e.setName(name);\r
406 e.setCName(cName);\r
407 e.setGuidValue(guid);\r
408 e.setHelpText(hlp);\r
ce73a791 409 if (stringToList(guidTypeList) != null) {\r
322b7723 410 e.setGuidTypeList(stringToList(guidTypeList));\r
a13899c5 411 }\r
ce73a791 412 else{\r
322b7723 413 if (e.isSetGuidTypeList()) {\r
97796eaa 414 e.unsetGuidTypeList();\r
322b7723 415 }\r
ce73a791 416 }\r
a13899c5 417 if (stringToList(archList) != null){\r
418 e.setSupArchList(stringToList(archList));\r
419 }\r
ce73a791 420 else{\r
322b7723 421 if (e.isSetSupArchList()) {\r
97796eaa 422 e.unsetSupArchList();\r
322b7723 423 }\r
ce73a791 424 }\r
a13899c5 425 if (stringToList(modTypeList) != null) {\r
426 e.setSupModuleList(stringToList(modTypeList));\r
427 }\r
ce73a791 428 else{\r
322b7723 429 if (e.isSetSupModuleList()) {\r
97796eaa 430 e.unsetSupModuleList();\r
322b7723 431 }\r
ce73a791 432 }\r
a13899c5 433 \r
434 }\r
435 cursor.dispose();\r
436 }\r
437 \r
438 public void updateSpdPpiDecl(int i, String name, String cName, String guid, String hlp, String archList, \r
1be13d3f 439 String modTypeList, String guidTypeList){\r
a13899c5 440 XmlObject o = psaRoot.getPpiDeclarations();\r
441 if (o == null){\r
442 return;\r
443 }\r
444 \r
445 XmlCursor cursor = o.newCursor();\r
446 if (cursor.toFirstChild()) {\r
447 for (int j = 0; j < i; ++j) {\r
448 cursor.toNextSibling();\r
449 }\r
450 PpiDeclarationsDocument.PpiDeclarations.Entry e = (PpiDeclarationsDocument.PpiDeclarations.Entry)cursor.getObject();\r
451 e.setName(name);\r
452 e.setCName(cName);\r
453 e.setGuidValue(guid);\r
454 e.setHelpText(hlp);\r
1be13d3f 455 if (stringToList(guidTypeList) != null) {\r
456 e.setGuidTypeList(stringToList(guidTypeList));\r
457 }\r
458 else{\r
459 if (e.isSetGuidTypeList()) {\r
460 e.unsetGuidTypeList();\r
461 }\r
462 }\r
a13899c5 463 if (stringToList(archList) != null){\r
464 e.setSupArchList(stringToList(archList));\r
465 }\r
ce73a791 466 else{\r
322b7723 467 if (e.isSetSupArchList()) {\r
97796eaa 468 e.unsetSupArchList();\r
322b7723 469 }\r
ce73a791 470 }\r
a13899c5 471 if (stringToList(modTypeList) != null) {\r
472 e.setSupModuleList(stringToList(modTypeList));\r
473 }\r
ce73a791 474 else{\r
322b7723 475 if (e.isSetSupModuleList()) {\r
97796eaa 476 e.unsetSupModuleList();\r
322b7723 477 }\r
ce73a791 478 }\r
a13899c5 479 }\r
480 cursor.dispose();\r
481 }\r
482 \r
483 public void updateSpdProtocolDecl(int i, String name, String cName, String guid, String hlp, String archList, \r
1be13d3f 484 String modTypeList, String guidTypeList){\r
a13899c5 485 XmlObject o = psaRoot.getProtocolDeclarations();\r
486 if (o == null){\r
487 return;\r
488 }\r
489 \r
490 XmlCursor cursor = o.newCursor();\r
491 if (cursor.toFirstChild()) {\r
492 for (int j = 0; j < i; ++j) {\r
493 cursor.toNextSibling();\r
494 }\r
495 ProtocolDeclarationsDocument.ProtocolDeclarations.Entry e = (ProtocolDeclarationsDocument.ProtocolDeclarations.Entry)cursor.getObject();\r
496 e.setName(name);\r
497 e.setCName(cName);\r
498 e.setGuidValue(guid);\r
499 e.setHelpText(hlp);\r
1be13d3f 500 if (stringToList(guidTypeList) != null) {\r
501 e.setGuidTypeList(stringToList(guidTypeList));\r
502 }\r
503 else{\r
504 if (e.isSetGuidTypeList()) {\r
505 e.unsetGuidTypeList();\r
506 }\r
507 }\r
a13899c5 508 if (stringToList(archList) != null){\r
509 e.setSupArchList(stringToList(archList));\r
510 }\r
ce73a791 511 else{\r
322b7723 512 if (e.isSetSupArchList()) {\r
97796eaa 513 e.unsetSupArchList();\r
322b7723 514 }\r
ce73a791 515 }\r
a13899c5 516 if (stringToList(modTypeList) != null) {\r
517 e.setSupModuleList(stringToList(modTypeList));\r
518 }\r
ce73a791 519 else{\r
322b7723 520 if (e.isSetSupModuleList()) {\r
97796eaa 521 e.unsetSupModuleList();\r
322b7723 522 }\r
ce73a791 523 }\r
a13899c5 524 }\r
525 cursor.dispose();\r
526 }\r
527 \r
528 public void updateSpdPkgHdr(int i, String pkgName, String hdrName){\r
529 XmlObject o = psaRoot.getPackageHeaders();\r
530 if (o == null){\r
531 return;\r
532 }\r
533 \r
534 XmlCursor cursor = o.newCursor();\r
535 if (cursor.toFirstChild()) {\r
536 for (int j = 0; j < i; ++j) {\r
537 cursor.toNextSibling();\r
538 }\r
539 \r
540 PackageHeadersDocument.PackageHeaders.IncludePkgHeader iph = (PackageHeadersDocument.PackageHeaders.IncludePkgHeader)cursor.getObject();\r
541 iph.setModuleType(ModuleTypeDef.Enum.forString(pkgName));\r
542 iph.setStringValue(hdrName);\r
543 }\r
544 cursor.dispose();\r
545 }\r
546 \r
547 public void updateSpdPcdDefinition(int i, String cName, String token, String dataType, String pcdItemTypes, \r
548 String spaceGuid, String defaultString, String help, String archList, String modTypeList){\r
549 XmlObject o = psaRoot.getPcdDeclarations();\r
550 if (o == null)\r
551 return;\r
552 XmlCursor cursor = o.newCursor();\r
553 if (cursor.toFirstChild()) {\r
554 for (int j = 0; j < i; ++j) {\r
555 cursor.toNextSibling();\r
556 }\r
557 PcdDeclarationsDocument.PcdDeclarations.PcdEntry e = (PcdDeclarationsDocument.PcdDeclarations.PcdEntry)cursor.getObject();\r
558 e.setCName(cName);\r
559 e.setToken(token);\r
560 e.setDatumType(PcdDataTypes.Enum.forString(dataType));\r
561 if (pcdItemTypes != null && pcdItemTypes.length() > 0) {\r
562 String usage[] = pcdItemTypes.split("( )+");\r
563 List<String> l = new ArrayList<String>();\r
564 for (int k = 0; k < usage.length; ++k) {\r
565 l.add(usage[k]); \r
566 }\r
567 e.setValidUsage(l);\r
568 }\r
569 \r
570 e.setTokenSpaceGuidCName(spaceGuid);\r
571 e.setDefaultValue(defaultString);\r
572 e.setHelpText(help);\r
209abc92 573 if (stringToList(archList) != null){\r
a13899c5 574 e.setSupArchList(stringToList(archList));\r
575 }\r
209abc92 576 else{\r
577 if (e.isSetSupArchList()) {\r
578 e.unsetSupArchList();\r
579 }\r
580 }\r
581 if (stringToList(modTypeList) != null) {\r
a13899c5 582 e.setSupModuleList(stringToList(modTypeList));\r
583 }\r
209abc92 584 else{\r
585 if (e.isSetSupModuleList()) {\r
586 e.unsetSupModuleList();\r
587 }\r
588 }\r
589 \r
a13899c5 590 } \r
591 cursor.dispose();\r
592 }\r
593 /**\r
594 Get spd file header contents into String array\r
595 \r
596 @param s Caller allocated String array\r
597 **/\r
598 public void getSpdHdrDetails(String[] s) {\r
599 if (getSpdHdr() == null) {\r
600 spdHdr = psaRoot.addNewSpdHeader();\r
601 }\r
602 s[0] = getSpdHdrPkgName();\r
603 s[1] = getSpdHdr().getGuidValue();\r
604 s[2] = getSpdHdrVer();\r
605// s[3] = getSpdHdr().getAbstract();\r
606 s[4] = getSpdHdr().getDescription();\r
607 s[5] = getSpdHdr().getCopyright();\r
608 s[6] = getSpdHdrLicense();\r
609 \r
610 }\r
611\r
612 /**\r
613 Get the number of library class declarations from the size of List\r
614 \r
615 @return int\r
616 **/\r
617 public int getSpdLibClassDeclarationCount() {\r
618 if (psaRoot.getLibraryClassDeclarations() == null\r
619 || psaRoot.getLibraryClassDeclarations().getLibraryClassList() == null) {\r
620 return 0;\r
621 }\r
622 return psaRoot.getLibraryClassDeclarations().getLibraryClassList().size();\r
623 }\r
624\r
625 /**\r
626 Get available library class declaration into String array\r
627 @param libClass Caller allocated two-dimentional String array\r
628 **/\r
629 public void getSpdLibClassDeclarations(String[][] libClass) {\r
630 if (psaRoot.getLibraryClassDeclarations() == null){\r
631 return;\r
632 }\r
633 \r
634 List<LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass> l = psaRoot.getLibraryClassDeclarations().getLibraryClassList();\r
635 int i = 0;\r
636 ListIterator li = l.listIterator();\r
637 while (li.hasNext()) {\r
638 LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass lc = (LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass) li.next();\r
639 if (lc != null) {\r
640 libClass[i][0] = lc.getName();\r
641 libClass[i][1] = lc.getIncludeHeader();\r
642 libClass[i][2] = lc.getHelpText();\r
2f8a7517 643// LAH added logic so you cannot set the version unless the GUID is defined.\r
a490bca8 644\r
645// if (lc.getRecommendedInstanceGuid() != null) {\r
2f8a7517 646 libClass[i][3] = lc.getRecommendedInstanceGuid();\r
a490bca8 647// if (lc.getRecommendedInstanceVersion() != null) {\r
2f8a7517 648 libClass[i][4] = lc.getRecommendedInstanceVersion();\r
a490bca8 649// }\r
650// }\r
651\r
a13899c5 652 if (lc.getSupArchList() != null) {\r
653 libClass[i][5] = listToString(lc.getSupArchList());\r
654 }\r
655 if (lc.getSupModuleList() != null) {\r
656 libClass[i][6] = listToString(lc.getSupModuleList());\r
657 }\r
658 \r
659 }\r
660 \r
661 i++;\r
662 }\r
663\r
664 }\r
665 \r
666 /**\r
667 Get the number of Msa files from the size of List\r
668 \r
669 @return int\r
670 **/\r
671 public int getSpdMsaFileCount() {\r
672 if (psaRoot.getMsaFiles() == null || psaRoot.getMsaFiles().getFilenameList() == null) {\r
673 return 0;\r
674 }\r
675 return psaRoot.getMsaFiles().getFilenameList().size();\r
676 }\r
677 \r
678 /**\r
679 Get available Msa file into String array\r
680 \r
681 @param msaFile Caller allocated two-dimentional String array\r
682 **/\r
683 public void getSpdMsaFiles(String[][] msaFile) {\r
684 if (psaRoot.getMsaFiles() == null) {\r
685 return;\r
686 }\r
687 List<String> l = psaRoot.getMsaFiles().getFilenameList();\r
688 int i = 0;\r
689 ListIterator li = l.listIterator();\r
690 while (li.hasNext()) {\r
691 msaFile[i][0] = (String)li.next();\r
692\r
693 i++;\r
694 }\r
695 }\r
696\r
697 /**\r
698 Get the number of include header files in PackageHeaders from the size of List\r
699 \r
700 @return int\r
701 **/\r
702 public int getSpdPackageHeaderCount() {\r
703 if (psaRoot.getPackageHeaders() == null || psaRoot.getPackageHeaders().getIncludePkgHeaderList() == null) {\r
704 return 0;\r
705 }\r
706 return psaRoot.getPackageHeaders().getIncludePkgHeaderList().size();\r
707 }\r
708\r
709 /**\r
710 Get available package header contents into String array\r
711 \r
712 @param pkgHeader Caller allocated two-dimentional String array\r
713 **/\r
714 public void getSpdPackageHeaders(String[][] pkgHeader) {\r
715 if (psaRoot.getPackageHeaders() == null) {\r
716 return;\r
717 }\r
718 \r
719 List<PackageHeadersDocument.PackageHeaders.IncludePkgHeader> l = psaRoot.getPackageHeaders().getIncludePkgHeaderList();\r
720 int i = 0;\r
721 ListIterator li = l.listIterator();\r
722 while (li.hasNext()) {\r
723 PackageHeadersDocument.PackageHeaders.IncludePkgHeader ih = (PackageHeadersDocument.PackageHeaders.IncludePkgHeader) li.next();\r
724 if (ih.getModuleType() != null) {\r
725 pkgHeader[i][0] = ih.getModuleType().toString();\r
726 }\r
727\r
728 pkgHeader[i][1] = ih.getStringValue();\r
729 i++;\r
730 }\r
731 }\r
732\r
733 /**\r
734 Get the number of GUID declarations from the size of List\r
735 \r
736 @return int\r
737 **/\r
738 public int getSpdGuidDeclarationCount() {\r
739 if (psaRoot.getGuidDeclarations() == null || psaRoot.getGuidDeclarations().getEntryList() == null) {\r
740 return 0;\r
741 }\r
742 return psaRoot.getGuidDeclarations().getEntryList().size();\r
743 }\r
744\r
745 /**\r
746 Get available Guid declaration contents into String array\r
747 \r
748 @param guid Caller allocated two-dimentional String array\r
749 **/\r
750 public void getSpdGuidDeclarations(String[][] guid) {\r
751 if (psaRoot.getGuidDeclarations() == null) {\r
752 return;\r
753 }\r
754 \r
755 List<GuidDeclarationsDocument.GuidDeclarations.Entry> l = psaRoot.getGuidDeclarations().getEntryList();\r
756 int i = 0;\r
757 ListIterator li = l.listIterator();\r
758 while (li.hasNext()) {\r
759 GuidDeclarationsDocument.GuidDeclarations.Entry e = (GuidDeclarationsDocument.GuidDeclarations.Entry) li\r
760 .next();\r
761 guid[i][0] = e.getName();\r
762 guid[i][1] = e.getCName();\r
763 if (e.getGuidValue() != null) {\r
764 guid[i][2] = e.getGuidValue();\r
765 }\r
766 guid[i][3] = e.getHelpText();\r
767 guid[i][4] = listToString(e.getSupArchList());\r
768 guid[i][5] = listToString(e.getSupModuleList());\r
769 guid[i][6] = listToString(e.getGuidTypeList());\r
770 i++;\r
771 }\r
772 }\r
773\r
774 /**\r
775 Get the number of protocol declarations from the size of List\r
776 \r
777 @return int\r
778 **/\r
779 public int getSpdProtocolDeclarationCount() {\r
780 if (psaRoot.getProtocolDeclarations() == null || psaRoot.getProtocolDeclarations().getEntryList() == null) {\r
781 return 0;\r
782 }\r
783 return psaRoot.getProtocolDeclarations().getEntryList().size();\r
784 }\r
785\r
786 /**\r
787 Get available protocol declaration contents into String array\r
788 \r
789 @param protocol Caller allocated two-dimentional String array\r
790 **/\r
791 public void getSpdProtocolDeclarations(String[][] protocol) {\r
792 if (psaRoot.getProtocolDeclarations() == null) {\r
793 return;\r
794 }\r
795 \r
796 List<ProtocolDeclarationsDocument.ProtocolDeclarations.Entry> l = psaRoot.getProtocolDeclarations()\r
797 .getEntryList();\r
798 int i = 0;\r
799 ListIterator li = l.listIterator();\r
800 while (li.hasNext()) {\r
801 ProtocolDeclarationsDocument.ProtocolDeclarations.Entry e = (ProtocolDeclarationsDocument.ProtocolDeclarations.Entry) li\r
802 .next();\r
803 protocol[i][0] = e.getName();\r
804 protocol[i][1] = e.getCName();\r
805 if (e.getGuidValue() != null) {\r
806 protocol[i][2] = e.getGuidValue();\r
807 }\r
808 protocol[i][3] = e.getHelpText();\r
809 protocol[i][4] = listToString(e.getSupArchList());\r
810 protocol[i][5] = listToString(e.getSupModuleList());\r
1be13d3f 811 protocol[i][6] = listToString(e.getGuidTypeList());\r
a13899c5 812 i++;\r
813 }\r
814 }\r
815\r
816 /**\r
817 Get the number of Ppi declarations from the size of List\r
818 \r
819 @return int\r
820 **/\r
821 public int getSpdPpiDeclarationCount() {\r
822 if (psaRoot.getPpiDeclarations() == null || psaRoot.getPpiDeclarations().getEntryList() == null) {\r
823 return 0;\r
824 }\r
825 return psaRoot.getPpiDeclarations().getEntryList().size();\r
826 }\r
827\r
828 /**\r
829 Get available Ppi declaration contents into String array\r
830 \r
831 @param ppi Caller allocated two-dimentional String array\r
832 **/\r
833 public void getSpdPpiDeclarations(String[][] ppi) {\r
834 if (psaRoot.getPpiDeclarations() == null) {\r
835 return;\r
836 }\r
837 \r
838 List<PpiDeclarationsDocument.PpiDeclarations.Entry> l = psaRoot.getPpiDeclarations().getEntryList();\r
839 int i = 0;\r
840 ListIterator li = l.listIterator();\r
841 while (li.hasNext()) {\r
842 PpiDeclarationsDocument.PpiDeclarations.Entry e = (PpiDeclarationsDocument.PpiDeclarations.Entry) li.next();\r
843 ppi[i][0] = e.getName();\r
844 ppi[i][1] = e.getCName();\r
845 if (e.getGuidValue() != null) {\r
846 ppi[i][2] = e.getGuidValue();\r
847 }\r
848 ppi[i][3] = e.getHelpText();\r
849 ppi[i][4] = listToString(e.getSupArchList());\r
850 ppi[i][5] = listToString(e.getSupModuleList());\r
1be13d3f 851 ppi[i][6] = listToString(e.getGuidTypeList());\r
a13899c5 852 i++;\r
853 }\r
854 }\r
855\r
856 /**\r
857 Get the number of Pcd definitions from the size of List\r
858 \r
859 @return int\r
860 **/\r
861 public int getSpdPcdDefinitionCount() {\r
862 if (psaRoot.getPcdDeclarations() == null || psaRoot.getPcdDeclarations().getPcdEntryList() == null) {\r
863 return 0;\r
864 }\r
865 return psaRoot.getPcdDeclarations().getPcdEntryList().size();\r
866 }\r
867\r
868 /**\r
869 Get available Pcd definition contents into String array\r
870 \r
871 @param pcd Caller allocated two-dimentional String array\r
872 **/\r
873 public void getSpdPcdDefinitions(String[][] pcd, String pcdUsage[][]) {\r
874 if (psaRoot.getPcdDeclarations() == null) {\r
875 return;\r
876 }\r
877 \r
878 List<PcdDeclarationsDocument.PcdDeclarations.PcdEntry> l = psaRoot.getPcdDeclarations().getPcdEntryList();\r
879 int i = 0;\r
880 while (i < l.size()) {\r
881 PcdDeclarationsDocument.PcdDeclarations.PcdEntry e = (PcdDeclarationsDocument.PcdDeclarations.PcdEntry)l.get(i);\r
882 pcd[i][0] = e.getCName();\r
883 pcd[i][1] = e.getToken() + ""; \r
884 pcd[i][2] = e.getTokenSpaceGuidCName();\r
885 if (e.getDatumType() != null) {\r
886 pcd[i][3] = e.getDatumType().toString();\r
887 }\r
888 pcd[i][4] = e.getDefaultValue()+"";\r
889 pcd[i][5] = e.getHelpText();\r
890 String archList = listToString(e.getSupArchList());\r
891 if (archList != null) {\r
892 pcd[i][6] = archList;\r
893 }\r
894 String modTypeList = listToString(e.getSupModuleList());\r
895 if (modTypeList != null) {\r
896 pcd[i][7] = modTypeList;\r
897 }\r
898 \r
899 int j = 0;\r
900 while (j < e.getValidUsage().size() && j < 5) {\r
901 pcdUsage[i][j] = (String)e.getValidUsage().get(j);\r
902 ++j;\r
903 }\r
904 i++;\r
905 }\r
906 }\r
907\r
908 /**\r
909 Save the processed xml contents to file\r
910 \r
911 @param spdFile The file to save xml contents\r
912 @throws IOException Exceptions during file operation\r
913 **/\r
914 public void saveAs(File spdFile) throws IOException {\r
915\r
916 XmlOptions options = new XmlOptions();\r
917\r
918 options.setCharacterEncoding("UTF-8");\r
919 options.setSavePrettyPrint();\r
920 options.setSavePrettyPrintIndent(2);\r
921 try {\r
922 psad.save(spdFile, options);\r
923 } catch (IOException e) {\r
924 e.printStackTrace();\r
925 }\r
926\r
927 }\r
928\r
929 /**\r
930 Generate SpdHeader contents using parameters passed in.\r
931 \r
932 @param pkgName PackageName \r
933 @param pkgGuid Guid\r
934 @param pkgVer Version\r
935 @param pkgAbs Abstract\r
936 @param pkgDes Description\r
937 @param pkgCpRight Copyright\r
938 @param pkgLicense License\r
939 @param pkgCreateDate Created\r
940 @param pkgUpdateDate Updated\r
941 @param pkgURL URL\r
942 @param pkgType PackageType\r
943 @param pkgRdOnly ReadOnly\r
944 @param pkgRePkg RePackage\r
945 @param pkgSpec Reserved\r
946 @param pkgOutDir Reserved\r
947 **/\r
948 public void genSpdHeader(String pkgName, String pkgGuid, String pkgVer, String pkgAbs, String pkgDes,\r
949 String pkgCpRight, String pkgLicense, String pkgCreateDate, String pkgUpdateDate,\r
950 String pkgURL, String pkgType, String pkgRdOnly, String pkgRePkg, String pkgSpec,\r
951 String pkgOutDir) {\r
952 if (getSpdHdr() == null) {\r
953 spdHdr = psaRoot.addNewSpdHeader();\r
954 }\r
955\r
956 setSpdHdrPkgName(pkgName);\r
957 setSpdHdrGuidValue(pkgGuid);\r
958 setSpdHdrVer(pkgVer);\r
959 setSpdHdrAbs(pkgAbs);\r
960 setSpdHdrDescription(pkgDes);\r
961 setSpdHdrCopyright(pkgCpRight);\r
962 setSpdHdrLicense(pkgLicense);\r
963 \r
964\r
965 setSpdHdrSpec(pkgSpec);\r
966 }\r
967\r
968 /**\r
969 Generate library class declaration element using parameters passed in\r
970 \r
971 @param libClassBaseName LibraryClass element value\r
972 @param libClassUsage Reserved\r
973 @param incHdrFileName IncludeHeader element value\r
974 @param incHdrAttribGuid Reserved\r
975 @param incHdrAttribArch Reserved\r
976 @param incHdrAttribPath Reserved\r
977 @param incHdrAttribClass Reserved\r
978 @param incHdrAttribVer Reserved\r
979 @param incHdrAttribOverrideID Reserved\r
980 @param incHdrAttribModuleType Reserved\r
981 **/\r
982 public void genSpdLibClassDeclarations(String libClassBaseName, String instanceUsage, String incHdrFileName,\r
983 String help, String incHdrAttribArch, String incHdrAttribPath,\r
984 String incHdrAttribClass, String incHdrAttribVer,\r
985 String incHdrAttribOverrideID, String incHdrAttribModuleType) {\r
986 if (getSpdLibClassDeclarations() == null) {\r
987 spdLibClassDeclarations = psaRoot.addNewLibraryClassDeclarations();\r
988 }\r
989 //\r
990 // add contents under LibraryClassDeclarations tag \r
991 //\r
992 setSpdLibClassDeclaration(libClassBaseName, instanceUsage, incHdrFileName, help, incHdrAttribArch,\r
993 incHdrAttribPath, incHdrAttribClass, incHdrAttribVer, incHdrAttribOverrideID,\r
994 incHdrAttribModuleType, spdLibClassDeclarations);\r
995 }\r
a490bca8 996 \r
997 public void getSpdLibClassDeclaration(String[] sa, int i) {\r
998 if (getSpdLibClassDeclarations() == null) {\r
999 return;\r
1000 }\r
1001 XmlCursor cursor = getSpdLibClassDeclarations().newCursor();\r
1002 if (cursor.toFirstChild()) {\r
1003 for (int j = 0; j < i; ++j) {\r
1004 cursor.toNextSibling();\r
1005 }\r
1006 LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass lc = (LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass)cursor.getObject();\r
1007 sa[0] = lc.getName();\r
1008 sa[1] = lc.getIncludeHeader();\r
1009 sa[2] = lc.getHelpText();\r
1010 sa[3] = lc.getRecommendedInstanceGuid();\r
1011 sa[4] = lc.getRecommendedInstanceVersion();\r
1012 sa[5] = listToString(lc.getSupArchList());\r
1013 sa[6] = listToString(lc.getSupModuleList());\r
1014 }\r
1015 cursor.dispose();\r
1016 }\r
a13899c5 1017\r
1018 /**\r
1019 Set library class declaration contents under parent tag\r
1020 \r
1021 @param clsName LibraryClass element value\r
1022 @param clsUsage Reserved\r
1023 @param hdrFile IncludeHeader element value\r
1024 @param hdrAttribGuid Reserved\r
1025 @param hdrAttribArch Reserved\r
1026 @param hdrAttribPath Reserved\r
1027 @param hdrAttribClass Reserved\r
1028 @param hdrAttribVer Reserved\r
1029 @param hdrAttribOverID Reserved\r
1030 @param hdrAttribModType Reserved\r
1031 @param parent The tag under which library class declaration goes to\r
1032 **/\r
1033 public void setSpdLibClassDeclaration(String clsName, String clsUsage, String hdrFile, String help,\r
1034 String hdrAttribArch, String hdrAttribPath, String hdrAttribClass,\r
1035 String instanceVer, String hdrAttribOverID, String hdrAttribModType,\r
1036 XmlObject parent) {\r
1037\r
1038 setSpdLibraryClass(clsName, hdrFile, help, clsUsage, instanceVer, hdrAttribArch, hdrAttribModType, parent);\r
1039\r
1040 }\r
1041\r
1042 /**\r
1043 Set the contents of LibraryClass under parent element\r
1044 \r
1045 @param clsName LibraryClass element value \r
1046 @param clsUsage Reserved\r
1047 @param parent The tag under which library class declaration goes to\r
1048 **/\r
1049 public void setSpdLibraryClass(String clsName, String clsIncludeFile, String help, String clsUsage, String instanceVer, String hdrAttribArch, String hdrAttribModType, XmlObject parent) {\r
1050 LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass lc = ((LibraryClassDeclarationsDocument.LibraryClassDeclarations) parent).addNewLibraryClass();\r
1051 lc.setName(clsName);\r
1052 lc.setIncludeHeader(clsIncludeFile);\r
1053 lc.setHelpText(help);\r
2f8a7517 1054// LAH added logic so you cannot set the version unless the GUID is defined.\r
d129bd96 1055\r
2f8a7517 1056 if (clsUsage != null) {\r
1057 lc.setRecommendedInstanceGuid(clsUsage);\r
1058 if (instanceVer != null) {\r
1059 lc.setRecommendedInstanceVersion(instanceVer);\r
1060 }\r
1061 }\r
d129bd96 1062 else {\r
1063 if (lc.isSetRecommendedInstanceGuid()) {\r
1064 lc.unsetRecommendedInstanceGuid();\r
1065 }\r
1066 if (lc.isSetRecommendedInstanceVersion()) {\r
1067 lc.unsetRecommendedInstanceVersion();\r
1068 }\r
1069 }\r
1070\r
a13899c5 1071 if (hdrAttribArch != null) {\r
1072 lc.setSupArchList(stringToList(hdrAttribArch));\r
322b7723 1073 } else {\r
1074 if (lc.isSetSupArchList()) {\r
1075 lc.unsetSupArchList();\r
1076 }\r
a13899c5 1077 }\r
322b7723 1078\r
a13899c5 1079 if (hdrAttribModType != null) {\r
97796eaa 1080 lc.setSupModuleList(stringToList(hdrAttribModType));\r
1081 } else {\r
322b7723 1082 if (lc.isSetSupModuleList()) {\r
1083 lc.unsetSupModuleList();\r
1084 }\r
a13899c5 1085 }\r
1086 \r
1087 }\r
1088\r
1089 /**\r
1090 Set contents of IncludeHeader under parent element\r
1091 \r
1092 @param modType Reserved\r
1093 @param hdrFile IncludeHeader element value\r
1094 @param hdrAttribGuid Reserved\r
1095 @param hdrAttribArch Reserved\r
1096 @param hdrAttribPath Reserved\r
1097 @param hdrAttribClass Reserved\r
1098 @param hdrAttribVer Reserved\r
1099 @param hdrAttribOverID Reserved\r
1100 @param parent The tag under which library class declaration goes to\r
1101 **/\r
1102 public void setSpdIncludeHeader(String modType, String hdrFile, String hdrAttribGuid, String hdrAttribArch,\r
1103 String hdrAttribPath, String hdrAttribClass, String hdrAttribVer,\r
1104 String hdrAttribOverID, XmlObject parent) {\r
1105 \r
1106 if (parent instanceof LibraryClassDeclarationsDocument.LibraryClassDeclarations) {\r
1107 } else if (parent instanceof PackageHeadersDocument.PackageHeaders) {\r
1108 PackageHeadersDocument.PackageHeaders.IncludePkgHeader ih = null;\r
1109 ih = ((PackageHeadersDocument.PackageHeaders) parent).addNewIncludePkgHeader();\r
1110 ih.setStringValue(hdrFile);\r
1111 ih.setModuleType(ModuleTypeDef.Enum.forString(modType));\r
1112 } else {\r
1113 return;\r
1114 }\r
1115\r
1116 if (hdrAttribGuid != null) {\r
1117 }\r
1118 if (hdrAttribPath != null) {\r
1119 }\r
1120 if (hdrAttribClass != null) {\r
1121 }\r
1122 if (hdrAttribVer != null) {\r
1123 }\r
1124 if (hdrAttribOverID != null) {\r
1125 }\r
1126\r
1127 }\r
1128\r
1129 /**\r
1130 Generate MsaFile element.\r
1131 \r
1132 @param msaFileName MsaFile element value\r
1133 @param archType Reserved\r
1134 **/\r
1135 public void genSpdMsaFiles(String msaFileName, String moduleName, String ver, String guid) {\r
1136 if (getSpdMsaFiles() == null) {\r
1137 spdMsaFiles = psaRoot.addNewMsaFiles();\r
1138 }\r
1139 setSpdMsaFile(msaFileName, moduleName, ver, guid, spdMsaFiles);\r
1140 \r
1141 }\r
a490bca8 1142 \r
1143 public void getSpdMsaFile (String[] sa, int i) {\r
1144 if (getSpdMsaFiles() == null) {\r
1145 return;\r
1146 }\r
1147 XmlCursor cursor = getSpdMsaFiles().newCursor();\r
1148 if (cursor.toFirstChild()) {\r
1149 for (int j = 0; j < i; ++j) {\r
1150 cursor.toNextSibling();\r
1151 }\r
1152 sa[0] = cursor.getTextValue();\r
1153 }\r
1154 cursor.dispose();\r
1155 }\r
a13899c5 1156\r
1157 /**\r
1158 Set MsaFile contents under parent element.\r
1159 \r
1160 @param msaFileName MsaFile element value\r
1161 @param parent Element under which MsaFile goes to\r
1162 **/\r
1163 public void setSpdMsaFile(String msaFileName, String moduleName, String ver, String guid, XmlObject parent) {\r
1164 MsaFilesDocument.MsaFiles f = (MsaFilesDocument.MsaFiles)parent;\r
1165 f.addNewFilename().setStringValue(msaFileName);\r
1166// f.setFilename(msaFileName);\r
1167// f.setModuleName(moduleName);\r
1168// f.setModuleVersion(ver);\r
1169// f.setModuleGuid(guid);\r
1170 }\r
1171\r
1172 /**\r
1173 Generate PackageHeader element using parameters passed in.\r
1174 \r
1175 @param ModHdrModType ModuleType attribute of IncludeHeader element\r
1176 @param hdrFile IncludeHeader element value\r
1177 @param hdrAttribGuid Reserved\r
1178 @param hdrAttribArch Reserved\r
1179 @param hdrAttribPath Reserved\r
1180 @param hdrAttribClass Reserved\r
1181 @param hdrAttribVer Reserved\r
1182 @param hdrAttribOverID Reserved\r
1183 **/\r
1184 public void genSpdModuleHeaders(String ModHdrModType, String hdrFile, String hdrAttribGuid, String hdrAttribArch,\r
1185 String hdrAttribPath, String hdrAttribClass, String hdrAttribVer,\r
1186 String hdrAttribOverID) {\r
1187 if (getSpdModHdrs() == null) {\r
1188 spdModHdrs = psaRoot.addNewPackageHeaders();\r
1189 }\r
1190\r
1191 //\r
1192 // add IncludeHeader under PackageHeaders element\r
1193 //\r
1194 setSpdIncludeHeader(ModHdrModType, hdrFile, hdrAttribGuid, hdrAttribArch, hdrAttribPath, hdrAttribClass,\r
1195 hdrAttribVer, hdrAttribOverID, spdModHdrs);\r
1196 }\r
a490bca8 1197 \r
1198 public void getSpdModuleHeader(String[] sa, int i) {\r
1199 if (getSpdModHdrs() == null) {\r
1200 return;\r
1201 }\r
1202 XmlCursor cursor = getSpdModHdrs().newCursor();\r
1203 if (cursor.toFirstChild()) {\r
1204 for (int j = 0; j < i; ++j) {\r
1205 cursor.toNextSibling();\r
1206 }\r
1207 PackageHeadersDocument.PackageHeaders.IncludePkgHeader ih = (PackageHeadersDocument.PackageHeaders.IncludePkgHeader)cursor.getObject();\r
1208 sa[0] = ih.getModuleType()+"";\r
1209 sa[1] = ih.getStringValue();\r
1210 }\r
1211 cursor.dispose();\r
1212 }\r
a13899c5 1213\r
1214 /**\r
1215 Generate GUID declaration element using parameters passed in.\r
1216 \r
1217 @param guidDeclEntryName Name attribute of Entry element\r
1218 @param guidDeclCName CName element value\r
1219 @param guidDeclGuid Guid element value\r
1220 @param guidDeclFeatureFlag Reserved\r
1221 **/\r
1222 public void genSpdGuidDeclarations(String guidDeclEntryName, String guidDeclCName, String guidDeclGuid,\r
1223 String guidDeclHelp, Vector<String> archList, Vector<String> modTypeList,\r
1224 Vector<String> guidTypeList) {\r
1225 if (getSpdGuidDeclarations() == null) {\r
1226 spdGuidDeclarations = psaRoot.addNewGuidDeclarations();\r
1227 }\r
1228\r
1229 setSpdEntry(guidDeclEntryName, guidDeclCName, guidDeclGuid, guidDeclHelp, archList, modTypeList, guidTypeList, spdGuidDeclarations);\r
1230 }\r
1231\r
1232 /**\r
1233 Generate protocol declaration element using parameters passed in.\r
1234 \r
1235 @param protocolDeclEntryName Name attribute of Entry element\r
1236 @param protocolDeclCName CName element value\r
1237 @param protocolDeclGuid Guid element value\r
1238 @param protocolDeclFeatureFlag Reserved\r
1239 **/\r
1240 public void genSpdProtocolDeclarations(String protocolDeclEntryName, String protocolDeclCName,\r
1241 String protocolDeclGuid, String protocolDeclFeatureFlag,\r
1be13d3f 1242 Vector<String> archList, Vector<String> modTypeList, Vector<String> guidTypeList) {\r
a13899c5 1243 if (getSpdProtocolDeclarations() == null) {\r
1244 spdProtocolDeclarations = psaRoot.addNewProtocolDeclarations();\r
1245 }\r
1246\r
1247 setSpdEntry(protocolDeclEntryName, protocolDeclCName, protocolDeclGuid, protocolDeclFeatureFlag,\r
1be13d3f 1248 archList, modTypeList, guidTypeList, spdProtocolDeclarations);\r
a13899c5 1249 }\r
1250\r
1251 /**\r
1252 Generate PPI declaration element using parameters passed in.\r
1253 \r
1254 @param ppiDeclEntryName Name attribute of Entry element\r
1255 @param ppiDeclCName CName element value\r
1256 @param ppiDeclGuid Guid element value\r
1257 @param ppiDeclFeatureFlag Reserved\r
1258 **/\r
1259 public void genSpdPpiDeclarations(String ppiDeclEntryName, String ppiDeclCName, String ppiDeclGuid,\r
1be13d3f 1260 String ppiDeclFeatureFlag, Vector<String> archList, Vector<String> modTypeList, Vector<String> guidTypeList) {\r
a13899c5 1261 if (getSpdPpiDeclarations() == null) {\r
1262 spdPpiDeclarations = psaRoot.addNewPpiDeclarations();\r
1263 }\r
1264\r
1be13d3f 1265 setSpdEntry(ppiDeclEntryName, ppiDeclCName, ppiDeclGuid, ppiDeclFeatureFlag, archList, modTypeList, guidTypeList, spdPpiDeclarations);\r
a13899c5 1266 }\r
a490bca8 1267 \r
1268 public void getSpdGuidDeclaration(String[] sa, int i) {\r
1269 if (getSpdGuidDeclarations() == null) {\r
1270 return;\r
1271 }\r
1272 getSpdEntry(sa, i, getSpdGuidDeclarations());\r
1273 }\r
1274 \r
1275 public void getSpdProtocolDeclaration(String[] sa, int i) {\r
1276 if (getSpdProtocolDeclarations() == null) {\r
1277 return;\r
1278 }\r
1279 getSpdEntry(sa, i, getSpdProtocolDeclarations());\r
1280 }\r
1281 \r
1282 public void getSpdPpiDeclaration(String[] sa, int i) {\r
1283 if (getSpdPpiDeclarations() == null) {\r
1284 return;\r
1285 }\r
1286 getSpdEntry(sa, i, getSpdPpiDeclarations());\r
1287 }\r
a13899c5 1288\r
a490bca8 1289 public void getSpdEntry(String[] sa, int i, XmlObject parent) {\r
1290 XmlCursor cursor = parent.newCursor();\r
1291 if (cursor.toFirstChild()) {\r
1292 for (int j = 0; j < i; ++j) {\r
1293 cursor.toNextSibling();\r
1294 }\r
1295 if (parent instanceof GuidDeclarationsDocument.GuidDeclarations) {\r
1296 GuidDeclarationsDocument.GuidDeclarations.Entry e = (GuidDeclarationsDocument.GuidDeclarations.Entry)cursor.getObject();\r
1297 sa[0] = e.getName();\r
1298 sa[1] = e.getCName();\r
1299 sa[2] = e.getGuidValue();\r
1300 sa[3] = e.getHelpText();\r
1301 sa[4] = listToString(e.getSupArchList());\r
1302 sa[5] = listToString(e.getSupModuleList());\r
1303 sa[6] = listToString(e.getGuidTypeList());\r
1304 }\r
1305 \r
1306 if (parent instanceof ProtocolDeclarationsDocument.ProtocolDeclarations) {\r
1307 ProtocolDeclarationsDocument.ProtocolDeclarations.Entry e = (ProtocolDeclarationsDocument.ProtocolDeclarations.Entry)cursor.getObject();\r
1308 sa[0] = e.getName();\r
1309 sa[1] = e.getCName();\r
1310 sa[2] = e.getGuidValue();\r
1311 sa[3] = e.getHelpText();\r
1312 sa[4] = listToString(e.getSupArchList());\r
1313 sa[5] = listToString(e.getSupModuleList());\r
1314 sa[6] = listToString(e.getGuidTypeList());\r
1315 }\r
1316 \r
1317 if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) {\r
1318 PpiDeclarationsDocument.PpiDeclarations.Entry e = (PpiDeclarationsDocument.PpiDeclarations.Entry)cursor.getObject();\r
1319 sa[0] = e.getName();\r
1320 sa[1] = e.getCName();\r
1321 sa[2] = e.getGuidValue();\r
1322 sa[3] = e.getHelpText();\r
1323 sa[4] = listToString(e.getSupArchList());\r
1324 sa[5] = listToString(e.getSupModuleList());\r
1325 sa[6] = listToString(e.getGuidTypeList());\r
1326 }\r
1327 \r
1328 }\r
1329 cursor.dispose();\r
1330 }\r
a13899c5 1331 /**\r
1332 Set Entry contents using parameters passed in\r
1333 \r
1334 @param entryName Name attribute of Entry element\r
1335 @param cName CName element value\r
1336 @param guid Guid element value\r
1337 @param featureFlag Reserved\r
1338 @param parent The tag under which Entry element goes to\r
1339 **/\r
1340 public void setSpdEntry(String entryName, String cName, String guid, String help, \r
1341 Vector<String> archList, Vector<String> modTypeList,\r
1342 Vector<String> guidTypeList, XmlObject parent) {\r
1343\r
1344 if (parent instanceof GuidDeclarationsDocument.GuidDeclarations) {\r
1345 GuidDeclarationsDocument.GuidDeclarations.Entry e = ((GuidDeclarations) parent).addNewEntry();\r
1346 e.setName(entryName);\r
1347 e.setCName(cName);\r
1348 e.setGuidValue(guid);\r
1349 e.setHelpText(help);\r
2c85fbc8 1350 if (guidTypeList != null) {\r
1351 e.setGuidTypeList(guidTypeList);\r
1352 }\r
1353 else{\r
1354 if (e.isSetGuidTypeList()) {\r
1355 e.unsetGuidTypeList();\r
1356 }\r
1357 }\r
1358 if (archList != null) {\r
1359 e.setSupArchList(archList);\r
1360 }\r
1361 else {\r
1362 if (e.isSetSupArchList()) {\r
1363 e.unsetSupArchList();\r
1364 }\r
1365 }\r
1366 if (modTypeList != null){\r
1367 e.setSupModuleList(modTypeList);\r
1368 }\r
1369 else {\r
1370 if (e.isSetSupModuleList()) {\r
1371 e.unsetSupModuleList();\r
1372 }\r
1373 }\r
1374\r
a13899c5 1375 return;\r
1376 }\r
1377 if (parent instanceof ProtocolDeclarationsDocument.ProtocolDeclarations) {\r
1378 ProtocolDeclarationsDocument.ProtocolDeclarations.Entry pe = ((ProtocolDeclarationsDocument.ProtocolDeclarations) parent)\r
1379 .addNewEntry();\r
1380 pe.setName(entryName);\r
1381 pe.setCName(cName);\r
1382 pe.setGuidValue(guid);\r
1383 pe.setHelpText(help);\r
1be13d3f 1384 if (guidTypeList != null) {\r
1385 pe.setGuidTypeList(guidTypeList);\r
1386 }\r
1387 else{\r
1388 if (pe.isSetGuidTypeList()) {\r
1389 pe.unsetGuidTypeList();\r
1390 }\r
1391 }\r
2c85fbc8 1392 if (archList != null) {\r
1393 pe.setSupArchList(archList);\r
1394 }\r
1395 else {\r
1396 if (pe.isSetSupArchList()) {\r
1397 pe.unsetSupArchList();\r
1398 }\r
1399 }\r
1400 if (modTypeList != null){\r
1401 pe.setSupModuleList(modTypeList);\r
1402 }\r
1403 else {\r
1404 if (pe.isSetSupModuleList()) {\r
1405 pe.unsetSupModuleList();\r
1406 }\r
1407 }\r
1408\r
a13899c5 1409 return;\r
1410 }\r
1411 if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) {\r
1412 PpiDeclarationsDocument.PpiDeclarations.Entry ppe = ((PpiDeclarationsDocument.PpiDeclarations) parent)\r
1413 .addNewEntry();\r
1414 ppe.setName(entryName);\r
1415 ppe.setCName(cName);\r
1416 ppe.setGuidValue(guid);\r
1417 ppe.setHelpText(help);\r
1be13d3f 1418 if (guidTypeList != null) {\r
1419 ppe.setGuidTypeList(guidTypeList);\r
1420 }\r
1421 else{\r
1422 if (ppe.isSetGuidTypeList()) {\r
1423 ppe.unsetGuidTypeList();\r
1424 }\r
1425 }\r
2c85fbc8 1426 if (archList != null) {\r
1427 ppe.setSupArchList(archList);\r
1428 }\r
1429 else {\r
1430 if (ppe.isSetSupArchList()) {\r
1431 ppe.unsetSupArchList();\r
1432 }\r
1433 }\r
1434 if (modTypeList != null){\r
1435 ppe.setSupModuleList(modTypeList);\r
1436 }\r
1437 else {\r
1438 if (ppe.isSetSupModuleList()) {\r
1439 ppe.unsetSupModuleList();\r
1440 }\r
1441 }\r
1442\r
a13899c5 1443 return;\r
1444 }\r
1445\r
1446 return;\r
1447\r
1448 }\r
1449\r
1450 /**\r
1451 Generate Pcd definition using parameters passed in\r
1452 \r
1453 @param pcdItemTypes ItemType attribute of PcdEntry element\r
1454 @param cName C_Name element value\r
1455 @param token Token element value\r
1456 @param dataType DatumType element value\r
1457 @param skuEnable Reserved\r
1458 @param sku Reserved\r
1459 @param maxSku Reserved\r
1460 @param hiiEnable Reserved\r
1461 @param varGuid Reserved\r
1462 @param varName Reserved\r
1463 @param defaultString DefaultString element value\r
1464 **/\r
1465 public void genSpdPcdDefinitions(String cName, String token, String dataType, String pcdItemTypes, \r
1466 String spaceGuid, String defaultString, String help, String archList,\r
1467 String modTypeList) {\r
1468 if (getSpdPcdDefinitions() == null) {\r
1469 spdPcdDefinitions = psaRoot.addNewPcdDeclarations();\r
1470 }\r
1471\r
1472 setSpdPcdEntry(pcdItemTypes, cName, token, dataType, spaceGuid, help,\r
1473 defaultString, archList, modTypeList, spdPcdDefinitions);\r
1474 }\r
a490bca8 1475 \r
1476 public void getSpdPcdDeclaration(String[] sa, int i) {\r
1477 if (getSpdPcdDefinitions() == null) {\r
1478 return;\r
1479 }\r
1480 \r
1481 XmlCursor cursor = getSpdPcdDefinitions().newCursor();\r
1482 if (cursor.toFirstChild()) {\r
1483 for (int j = 0; j < i; ++j) {\r
1484 cursor.toNextSibling();\r
1485 }\r
1486 PcdDeclarationsDocument.PcdDeclarations.PcdEntry pe = (PcdDeclarationsDocument.PcdDeclarations.PcdEntry)cursor.getObject();\r
1487 sa[0] = pe.getCName();\r
1488 sa[1] = pe.getToken()+"";\r
1489 sa[2] = pe.getTokenSpaceGuidCName();\r
1490 sa[3] = pe.getDatumType()+"";\r
1491 sa[4] = pe.getDefaultValue();\r
1492 sa[5] = pe.getHelpText();\r
1493 sa[6] = listToString(pe.getValidUsage());\r
1494 sa[7] = listToString(pe.getSupArchList());\r
1495 sa[8] = listToString(pe.getSupModuleList());\r
1496 }\r
1497 cursor.dispose();\r
1498 }\r
a13899c5 1499\r
1500 /**\r
1501 Set Pcd entry contents under parent tag\r
1502 \r
1503 @param pcdItemTypes ItemType attribute of PcdEntry element\r
1504 @param cName C_Name element value\r
1505 @param token Token element value\r
1506 @param dataType DatumType element value\r
1507 @param spaceGuid Reserved\r
1508 @param help Reserved\r
1509 @param defaultString DefaultString element value\r
1510 @param parent Tag under which PcdEntry goes to\r
1511 **/\r
1512 public void setSpdPcdEntry(String pcdItemTypes, String cName, String token, String dataType, String spaceGuid, String help,\r
1513 String defaultString, String archList, String modTypeList, XmlObject parent) {\r
1514\r
1515 PcdDeclarationsDocument.PcdDeclarations.PcdEntry pe = ((PcdDeclarationsDocument.PcdDeclarations) parent).addNewPcdEntry();\r
1516 \r
1517 //ToDo: maybe multiple types in, need parse pcdItemTypes.\r
1518 String usage[] = pcdItemTypes.split("( )+");\r
1519 List<String> l = new ArrayList<String>();\r
1520 for (int i = 0; i < usage.length; ++i) {\r
1521 l.add(usage[i]); \r
1522 }\r
1523 pe.setValidUsage(l);\r
1524 pe.setCName(cName);\r
1525 pe.setToken(token);\r
1526 pe.setDatumType(PcdDataTypes.Enum.forString(dataType));\r
1527 pe.setDefaultValue(defaultString);\r
1528 pe.setTokenSpaceGuidCName(spaceGuid);\r
1529 pe.setHelpText(help);\r
1530 if (archList != null){\r
97796eaa 1531 pe.setSupArchList(stringToList(archList));\r
1532 } else {\r
322b7723 1533 if (pe.isSetSupArchList()) {\r
1534 pe.unsetSupArchList();\r
1535 }\r
a13899c5 1536 }\r
1537 if (modTypeList != null){\r
97796eaa 1538 pe.setSupModuleList(stringToList(modTypeList));\r
1539 } else {\r
322b7723 1540 if (pe.isSetSupModuleList()) {\r
1541 pe.unsetSupModuleList();\r
1542 }\r
a13899c5 1543 }\r
1544 }\r
1545\r
1546 /**\r
1547 Get PpiDeclarations element\r
1548 \r
1549 @return PpiDeclarationsDocument.PpiDeclarations\r
1550 **/\r
1551 public PpiDeclarationsDocument.PpiDeclarations getSpdPpiDeclarations() {\r
1552 if (spdPpiDeclarations == null) {\r
1553 spdPpiDeclarations = psaRoot.getPpiDeclarations();\r
1554 }\r
1555 return spdPpiDeclarations;\r
1556 }\r
1557\r
1558 /**\r
1559 Get ProtocolDeclarations element\r
1560 \r
1561 @return ProtocolDeclarationsDocument.ProtocolDeclarations\r
1562 **/\r
1563 public ProtocolDeclarationsDocument.ProtocolDeclarations getSpdProtocolDeclarations() {\r
1564 if (spdProtocolDeclarations == null) {\r
1565 spdProtocolDeclarations = psaRoot.getProtocolDeclarations();\r
1566 }\r
1567 return spdProtocolDeclarations;\r
1568 }\r
1569\r
1570 /**\r
1571 Get GuidDeclarations element\r
1572 \r
1573 @return GuidDeclarationsDocument.GuidDeclarations\r
1574 **/\r
1575 public GuidDeclarationsDocument.GuidDeclarations getSpdGuidDeclarations() {\r
1576 if (spdGuidDeclarations == null) {\r
1577 spdGuidDeclarations = psaRoot.getGuidDeclarations();\r
1578 }\r
1579 return spdGuidDeclarations;\r
1580 }\r
1581\r
1582 /**\r
1583 Get PcdDefinitions element\r
1584 \r
1585 @return PcdDefinitionsDocument.PcdDefinitions\r
1586 **/\r
1587 public PcdDeclarationsDocument.PcdDeclarations getSpdPcdDefinitions() {\r
1588 if (spdPcdDefinitions == null) {\r
1589 spdPcdDefinitions = psaRoot.getPcdDeclarations();\r
1590 }\r
1591 return spdPcdDefinitions;\r
1592 }\r
1593\r
1594 /**\r
1595 Get PackageHeaders element\r
1596 \r
1597 @return PackageHeadersDocument.PackageHeaders\r
1598 **/\r
1599 public PackageHeadersDocument.PackageHeaders getSpdModHdrs() {\r
1600 if (spdModHdrs == null) {\r
1601 spdModHdrs = psaRoot.getPackageHeaders();\r
1602 }\r
1603 return spdModHdrs;\r
1604 }\r
1605\r
1606 /**\r
1607 Get MsaFiles element\r
1608 \r
1609 @return MsaFilesDocument.MsaFiles\r
1610 **/\r
1611 public MsaFilesDocument.MsaFiles getSpdMsaFiles() {\r
1612 if (spdMsaFiles == null) {\r
1613 spdMsaFiles = psaRoot.getMsaFiles();\r
1614 }\r
1615 return spdMsaFiles;\r
1616 }\r
1617\r
1618 /**\r
1619 Get LibraryClassDeclarations element\r
1620 \r
1621 @return LibraryClassDeclarationsDocument.LibraryClassDeclarations\r
1622 **/\r
1623 public LibraryClassDeclarationsDocument.LibraryClassDeclarations getSpdLibClassDeclarations() {\r
1624 if (spdLibClassDeclarations == null) {\r
1625 spdLibClassDeclarations = psaRoot.getLibraryClassDeclarations();\r
1626 }\r
1627 return spdLibClassDeclarations;\r
1628 }\r
1629\r
1630 public PackageDefinitionsDocument.PackageDefinitions getSpdPkgDefs() {\r
1631 if (spdPkgDefs == null) {\r
1632 spdPkgDefs = psaRoot.addNewPackageDefinitions();\r
1633 }\r
1634 return spdPkgDefs;\r
1635 }\r
1636 /**\r
1637 Get SpdHeader element\r
1638 \r
1639 @return SpdHeaderDocument.SpdHeader\r
1640 **/\r
1641 public SpdHeaderDocument.SpdHeader getSpdHdr() {\r
1642 if (spdHdr == null) {\r
1643 spdHdr = psaRoot.addNewSpdHeader();\r
1644 }\r
1645 return spdHdr;\r
1646 }\r
1647\r
1648 /**\r
1649 Set value to Guid element\r
1650 \r
1651 @param guid The value set to Guid element\r
1652 **/\r
1653 public void setSpdHdrGuidValue(String guid) {\r
1654 getSpdHdr().setGuidValue(guid);\r
1655 }\r
1656\r
1657 /**\r
1658 Get Version element under SpdHdr\r
1659 \r
1660 @return String\r
1661 **/\r
1662 public String getSpdHdrVer() {\r
1663 return getSpdHdr().getVersion();\r
1664 }\r
1665\r
1666 /**\r
1667 Set value to Version element\r
1668 \r
1669 @param ver The value set to Version element\r
1670 **/\r
1671 public void setSpdHdrVer(String ver) {\r
1672 getSpdHdr().setVersion(ver);\r
1673 }\r
1674\r
1675 public String getSpdHdrAbs(){\r
1676 return getSpdHdr().getAbstract();\r
1677 \r
1678 }\r
1679 \r
1680 /**\r
1681 Set value to Abstract element\r
1682 \r
1683 @param abs The value set to Abstract element\r
1684 **/\r
1685 public void setSpdHdrAbs(String abs) {\r
1686\r
1687 getSpdHdr().setAbstract(abs);\r
1688 }\r
1689 \r
1690 public String getSpdHdrDescription(){\r
1691 return getSpdHdr().getDescription(); \r
1692 }\r
1693 /**\r
1694 Set value to Description element\r
1695 \r
1696 @param des The value set to Description element\r
1697 **/\r
1698 public void setSpdHdrDescription(String des) {\r
1699 getSpdHdr().setDescription(des);\r
1700 }\r
1701 \r
1702 public String getSpdHdrCopyright(){\r
1703 return getSpdHdr().getCopyright();\r
1704 }\r
1705 /**\r
1706 Set value to Copyright element\r
1707 \r
1708 @param cpRit The value set to Copyright element\r
1709 **/\r
1710 public void setSpdHdrCopyright(String cpRit) {\r
1711\r
1712 getSpdHdr().setCopyright(cpRit);\r
1713\r
1714 }\r
1715 /**\r
1716 Get License element under SpdHdr\r
1717 \r
1718 @return String\r
1719 **/\r
1720 public String getSpdHdrLicense() {\r
1721 if (getSpdHdr().getLicense() != null) {\r
1722 return getSpdHdr().getLicense().getStringValue();\r
1723 }\r
1724 return null;\r
1725 }\r
1726\r
1727 /**\r
1728 Set value to License element\r
1729 \r
1730 @param license The value set to License element\r
1731 **/\r
1732 public void setSpdHdrLicense(String license) {\r
1733 if (getSpdHdr().getLicense() == null){\r
1734 getSpdHdr().addNewLicense().setStringValue(license);\r
1735 }\r
1736 else {\r
1737 getSpdHdr().getLicense().setStringValue(license);\r
1738 }\r
1739 }\r
1740 \r
1741 public String getSpdHdrUrl(){\r
1742 if (getSpdHdr().getLicense() != null) {\r
1743 return getSpdHdr().getLicense().getURL();\r
1744 }\r
1745 return null;\r
1746 }\r
1747 \r
1748 public void setSpdHdrUrl(String url){\r
1749 getSpdHdr().getLicense().setURL(url);\r
1750 }\r
1751\r
1752 /**\r
1753 Get PackageName element under SpdHdr\r
1754 \r
1755 @return String\r
1756 **/\r
1757 public String getSpdHdrPkgName() {\r
1758 \r
1759 return getSpdHdr().getPackageName();\r
1760 }\r
1761\r
1762 /**\r
1763 Set value to PackageName element\r
1764 \r
1765 @param pkgName The value set to PackageName element\r
1766 **/\r
1767 public void setSpdHdrPkgName(String pkgName) {\r
1768 getSpdHdr().setPackageName(pkgName);\r
1769 }\r
1770\r
1771 public String getSpdHdrGuidValue(){\r
1772 return getSpdHdr().getGuidValue();\r
1773 }\r
1774 \r
1775 /**\r
1776 Reserved method\r
1777 \r
1778 @return SpecificationDocument.Specification\r
1779 **/\r
1780 public String getSpdHdrSpec() {\r
c06e8657 1781 return "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052";\r
a13899c5 1782// return getSpdHdr().getSpecification();\r
1783 }\r
1784\r
1785 /**\r
1786 Reserved method\r
1787 \r
1788 @param spec \r
1789 **/\r
1790 public void setSpdHdrSpec(String spec) {\r
c06e8657 1791 spec = "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052";\r
a13899c5 1792 getSpdHdr().setSpecification(spec);\r
1793 \r
1794 }\r
1795\r
1796 public String getSpdPkgDefsRdOnly(){\r
1797 return getSpdPkgDefs().getReadOnly() + "";\r
1798 }\r
1799 /**\r
1800 Set value to ReadOnly element\r
1801 \r
1802 @param rdOnly The value set to ReadOnly element\r
1803 **/\r
1804 public void setSpdPkgDefsRdOnly(String rdOnly) {\r
1805\r
1806 getSpdPkgDefs().setReadOnly(new Boolean(rdOnly));\r
1807 }\r
1808\r
1809 public String getSpdPkgDefsRePkg(){\r
1810 return getSpdPkgDefs().getRePackage() + "";\r
1811 }\r
1812 /**\r
1813 Set value to RePackage element\r
1814 \r
1815 @param rePkg The value set to RePackage element\r
1816 **/\r
1817 public void setSpdPkgDefsRePkg(String rePkg) {\r
1818\r
1819 getSpdPkgDefs().setRePackage(new Boolean(rePkg));\r
1820 }\r
1821\r
1822 /**\r
1823 Set value to URL element\r
1824 \r
1825 @param url The value set to URL element\r
1826 **/\r
1827// public void setSpdHdrURL(String url) {\r
1828// getSpdHdr().setURL(url);\r
1829// }\r
1830\r
1831 /**\r
1832 Get xml file\r
1833 \r
1834 @return File\r
1835 **/\r
1836 public File getFile() {\r
1837 return file;\r
1838 }\r
1839\r
1840 /**\r
1841 Set file\r
1842 \r
1843 @param file File with xml format\r
1844 **/\r
1845 public void setFile(File file) {\r
1846 this.file = file;\r
1847 }\r
1848 \r
1849 private List<String> stringToList(String s){\r
ce73a791 1850 if (s == null || s.length() == 0) {\r
a13899c5 1851 return null;\r
1852 }\r
ce73a791 1853 Vector<String> al = new Vector<String>();\r
a13899c5 1854 String[] sArray = s.split(" ");\r
1855 for(int i = 0; i < sArray.length; ++i){\r
1856 al.add(sArray[i]);\r
1857 }\r
1858 return al; \r
1859 }\r
1860 \r
ce73a791 1861 private String listToString(List l) {\r
a13899c5 1862 if (l == null) {\r
1863 return null;\r
1864 }\r
1865 String s = " ";\r
1866 ListIterator li = l.listIterator();\r
1867 while(li.hasNext()) {\r
1868 s += li.next();\r
1869 s += " ";\r
1870 }\r
1871 return s.trim();\r
1872 }\r
1873\r
1874}\r