]> git.proxmox.com Git - mirror_edk2.git/blame - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdFileContents.java
Changed spelling to manifest
[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
5f97c029 733 public void getSpdGuidDeclWithType (Vector<String> vGuidCName, String type) {\r
734 if (psaRoot.getGuidDeclarations() == null) {\r
735 return;\r
736 }\r
737 List<GuidDeclarationsDocument.GuidDeclarations.Entry> l = psaRoot.getGuidDeclarations().getEntryList();\r
738 for (int i = 0; i < l.size(); ++i) {\r
739 if (l.get(i).getGuidTypeList() == null || l.get(i).getGuidTypeList().contains(type)) {\r
740 vGuidCName.add(l.get(i).getCName());\r
741 }\r
742 }\r
743 }\r
a13899c5 744 /**\r
745 Get the number of GUID declarations from the size of List\r
746 \r
747 @return int\r
748 **/\r
749 public int getSpdGuidDeclarationCount() {\r
750 if (psaRoot.getGuidDeclarations() == null || psaRoot.getGuidDeclarations().getEntryList() == null) {\r
751 return 0;\r
752 }\r
753 return psaRoot.getGuidDeclarations().getEntryList().size();\r
754 }\r
755\r
756 /**\r
757 Get available Guid declaration contents into String array\r
758 \r
759 @param guid Caller allocated two-dimentional String array\r
760 **/\r
761 public void getSpdGuidDeclarations(String[][] guid) {\r
762 if (psaRoot.getGuidDeclarations() == null) {\r
763 return;\r
764 }\r
765 \r
766 List<GuidDeclarationsDocument.GuidDeclarations.Entry> l = psaRoot.getGuidDeclarations().getEntryList();\r
767 int i = 0;\r
768 ListIterator li = l.listIterator();\r
769 while (li.hasNext()) {\r
770 GuidDeclarationsDocument.GuidDeclarations.Entry e = (GuidDeclarationsDocument.GuidDeclarations.Entry) li\r
771 .next();\r
772 guid[i][0] = e.getName();\r
773 guid[i][1] = e.getCName();\r
774 if (e.getGuidValue() != null) {\r
775 guid[i][2] = e.getGuidValue();\r
776 }\r
777 guid[i][3] = e.getHelpText();\r
778 guid[i][4] = listToString(e.getSupArchList());\r
779 guid[i][5] = listToString(e.getSupModuleList());\r
780 guid[i][6] = listToString(e.getGuidTypeList());\r
781 i++;\r
782 }\r
783 }\r
784\r
785 /**\r
786 Get the number of protocol declarations from the size of List\r
787 \r
788 @return int\r
789 **/\r
790 public int getSpdProtocolDeclarationCount() {\r
791 if (psaRoot.getProtocolDeclarations() == null || psaRoot.getProtocolDeclarations().getEntryList() == null) {\r
792 return 0;\r
793 }\r
794 return psaRoot.getProtocolDeclarations().getEntryList().size();\r
795 }\r
796\r
797 /**\r
798 Get available protocol declaration contents into String array\r
799 \r
800 @param protocol Caller allocated two-dimentional String array\r
801 **/\r
802 public void getSpdProtocolDeclarations(String[][] protocol) {\r
803 if (psaRoot.getProtocolDeclarations() == null) {\r
804 return;\r
805 }\r
806 \r
807 List<ProtocolDeclarationsDocument.ProtocolDeclarations.Entry> l = psaRoot.getProtocolDeclarations()\r
808 .getEntryList();\r
809 int i = 0;\r
810 ListIterator li = l.listIterator();\r
811 while (li.hasNext()) {\r
812 ProtocolDeclarationsDocument.ProtocolDeclarations.Entry e = (ProtocolDeclarationsDocument.ProtocolDeclarations.Entry) li\r
813 .next();\r
814 protocol[i][0] = e.getName();\r
815 protocol[i][1] = e.getCName();\r
816 if (e.getGuidValue() != null) {\r
817 protocol[i][2] = e.getGuidValue();\r
818 }\r
819 protocol[i][3] = e.getHelpText();\r
820 protocol[i][4] = listToString(e.getSupArchList());\r
821 protocol[i][5] = listToString(e.getSupModuleList());\r
1be13d3f 822 protocol[i][6] = listToString(e.getGuidTypeList());\r
a13899c5 823 i++;\r
824 }\r
825 }\r
826\r
827 /**\r
828 Get the number of Ppi declarations from the size of List\r
829 \r
830 @return int\r
831 **/\r
832 public int getSpdPpiDeclarationCount() {\r
833 if (psaRoot.getPpiDeclarations() == null || psaRoot.getPpiDeclarations().getEntryList() == null) {\r
834 return 0;\r
835 }\r
836 return psaRoot.getPpiDeclarations().getEntryList().size();\r
837 }\r
838\r
839 /**\r
840 Get available Ppi declaration contents into String array\r
841 \r
842 @param ppi Caller allocated two-dimentional String array\r
843 **/\r
844 public void getSpdPpiDeclarations(String[][] ppi) {\r
845 if (psaRoot.getPpiDeclarations() == null) {\r
846 return;\r
847 }\r
848 \r
849 List<PpiDeclarationsDocument.PpiDeclarations.Entry> l = psaRoot.getPpiDeclarations().getEntryList();\r
850 int i = 0;\r
851 ListIterator li = l.listIterator();\r
852 while (li.hasNext()) {\r
853 PpiDeclarationsDocument.PpiDeclarations.Entry e = (PpiDeclarationsDocument.PpiDeclarations.Entry) li.next();\r
854 ppi[i][0] = e.getName();\r
855 ppi[i][1] = e.getCName();\r
856 if (e.getGuidValue() != null) {\r
857 ppi[i][2] = e.getGuidValue();\r
858 }\r
859 ppi[i][3] = e.getHelpText();\r
860 ppi[i][4] = listToString(e.getSupArchList());\r
861 ppi[i][5] = listToString(e.getSupModuleList());\r
1be13d3f 862 ppi[i][6] = listToString(e.getGuidTypeList());\r
a13899c5 863 i++;\r
864 }\r
865 }\r
866\r
867 /**\r
868 Get the number of Pcd definitions from the size of List\r
869 \r
870 @return int\r
871 **/\r
872 public int getSpdPcdDefinitionCount() {\r
873 if (psaRoot.getPcdDeclarations() == null || psaRoot.getPcdDeclarations().getPcdEntryList() == null) {\r
874 return 0;\r
875 }\r
876 return psaRoot.getPcdDeclarations().getPcdEntryList().size();\r
877 }\r
878\r
879 /**\r
880 Get available Pcd definition contents into String array\r
881 \r
882 @param pcd Caller allocated two-dimentional String array\r
883 **/\r
884 public void getSpdPcdDefinitions(String[][] pcd, String pcdUsage[][]) {\r
885 if (psaRoot.getPcdDeclarations() == null) {\r
886 return;\r
887 }\r
888 \r
889 List<PcdDeclarationsDocument.PcdDeclarations.PcdEntry> l = psaRoot.getPcdDeclarations().getPcdEntryList();\r
890 int i = 0;\r
891 while (i < l.size()) {\r
892 PcdDeclarationsDocument.PcdDeclarations.PcdEntry e = (PcdDeclarationsDocument.PcdDeclarations.PcdEntry)l.get(i);\r
893 pcd[i][0] = e.getCName();\r
894 pcd[i][1] = e.getToken() + ""; \r
895 pcd[i][2] = e.getTokenSpaceGuidCName();\r
896 if (e.getDatumType() != null) {\r
897 pcd[i][3] = e.getDatumType().toString();\r
898 }\r
899 pcd[i][4] = e.getDefaultValue()+"";\r
900 pcd[i][5] = e.getHelpText();\r
901 String archList = listToString(e.getSupArchList());\r
902 if (archList != null) {\r
903 pcd[i][6] = archList;\r
904 }\r
905 String modTypeList = listToString(e.getSupModuleList());\r
906 if (modTypeList != null) {\r
907 pcd[i][7] = modTypeList;\r
908 }\r
909 \r
910 int j = 0;\r
911 while (j < e.getValidUsage().size() && j < 5) {\r
912 pcdUsage[i][j] = (String)e.getValidUsage().get(j);\r
913 ++j;\r
914 }\r
915 i++;\r
916 }\r
917 }\r
918\r
919 /**\r
920 Save the processed xml contents to file\r
921 \r
922 @param spdFile The file to save xml contents\r
923 @throws IOException Exceptions during file operation\r
924 **/\r
925 public void saveAs(File spdFile) throws IOException {\r
926\r
927 XmlOptions options = new XmlOptions();\r
928\r
929 options.setCharacterEncoding("UTF-8");\r
930 options.setSavePrettyPrint();\r
931 options.setSavePrettyPrintIndent(2);\r
932 try {\r
933 psad.save(spdFile, options);\r
934 } catch (IOException e) {\r
935 e.printStackTrace();\r
936 }\r
937\r
938 }\r
939\r
940 /**\r
941 Generate SpdHeader contents using parameters passed in.\r
942 \r
943 @param pkgName PackageName \r
944 @param pkgGuid Guid\r
945 @param pkgVer Version\r
946 @param pkgAbs Abstract\r
947 @param pkgDes Description\r
948 @param pkgCpRight Copyright\r
949 @param pkgLicense License\r
950 @param pkgCreateDate Created\r
951 @param pkgUpdateDate Updated\r
952 @param pkgURL URL\r
953 @param pkgType PackageType\r
954 @param pkgRdOnly ReadOnly\r
955 @param pkgRePkg RePackage\r
956 @param pkgSpec Reserved\r
957 @param pkgOutDir Reserved\r
958 **/\r
959 public void genSpdHeader(String pkgName, String pkgGuid, String pkgVer, String pkgAbs, String pkgDes,\r
960 String pkgCpRight, String pkgLicense, String pkgCreateDate, String pkgUpdateDate,\r
961 String pkgURL, String pkgType, String pkgRdOnly, String pkgRePkg, String pkgSpec,\r
962 String pkgOutDir) {\r
963 if (getSpdHdr() == null) {\r
964 spdHdr = psaRoot.addNewSpdHeader();\r
965 }\r
966\r
967 setSpdHdrPkgName(pkgName);\r
968 setSpdHdrGuidValue(pkgGuid);\r
969 setSpdHdrVer(pkgVer);\r
970 setSpdHdrAbs(pkgAbs);\r
971 setSpdHdrDescription(pkgDes);\r
972 setSpdHdrCopyright(pkgCpRight);\r
973 setSpdHdrLicense(pkgLicense);\r
974 \r
975\r
976 setSpdHdrSpec(pkgSpec);\r
977 }\r
978\r
979 /**\r
980 Generate library class declaration element using parameters passed in\r
981 \r
982 @param libClassBaseName LibraryClass element value\r
983 @param libClassUsage Reserved\r
984 @param incHdrFileName IncludeHeader element value\r
985 @param incHdrAttribGuid Reserved\r
986 @param incHdrAttribArch Reserved\r
987 @param incHdrAttribPath Reserved\r
988 @param incHdrAttribClass Reserved\r
989 @param incHdrAttribVer Reserved\r
990 @param incHdrAttribOverrideID Reserved\r
991 @param incHdrAttribModuleType Reserved\r
992 **/\r
993 public void genSpdLibClassDeclarations(String libClassBaseName, String instanceUsage, String incHdrFileName,\r
994 String help, String incHdrAttribArch, String incHdrAttribPath,\r
995 String incHdrAttribClass, String incHdrAttribVer,\r
996 String incHdrAttribOverrideID, String incHdrAttribModuleType) {\r
997 if (getSpdLibClassDeclarations() == null) {\r
998 spdLibClassDeclarations = psaRoot.addNewLibraryClassDeclarations();\r
999 }\r
1000 //\r
1001 // add contents under LibraryClassDeclarations tag \r
1002 //\r
1003 setSpdLibClassDeclaration(libClassBaseName, instanceUsage, incHdrFileName, help, incHdrAttribArch,\r
1004 incHdrAttribPath, incHdrAttribClass, incHdrAttribVer, incHdrAttribOverrideID,\r
1005 incHdrAttribModuleType, spdLibClassDeclarations);\r
1006 }\r
a490bca8 1007 \r
1008 public void getSpdLibClassDeclaration(String[] sa, int i) {\r
1009 if (getSpdLibClassDeclarations() == null) {\r
1010 return;\r
1011 }\r
1012 XmlCursor cursor = getSpdLibClassDeclarations().newCursor();\r
1013 if (cursor.toFirstChild()) {\r
1014 for (int j = 0; j < i; ++j) {\r
1015 cursor.toNextSibling();\r
1016 }\r
1017 LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass lc = (LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass)cursor.getObject();\r
1018 sa[0] = lc.getName();\r
1019 sa[1] = lc.getIncludeHeader();\r
1020 sa[2] = lc.getHelpText();\r
1021 sa[3] = lc.getRecommendedInstanceGuid();\r
1022 sa[4] = lc.getRecommendedInstanceVersion();\r
1023 sa[5] = listToString(lc.getSupArchList());\r
1024 sa[6] = listToString(lc.getSupModuleList());\r
1025 }\r
1026 cursor.dispose();\r
1027 }\r
a13899c5 1028\r
1029 /**\r
1030 Set library class declaration contents under parent tag\r
1031 \r
1032 @param clsName LibraryClass element value\r
1033 @param clsUsage Reserved\r
1034 @param hdrFile IncludeHeader element value\r
1035 @param hdrAttribGuid Reserved\r
1036 @param hdrAttribArch Reserved\r
1037 @param hdrAttribPath Reserved\r
1038 @param hdrAttribClass Reserved\r
1039 @param hdrAttribVer Reserved\r
1040 @param hdrAttribOverID Reserved\r
1041 @param hdrAttribModType Reserved\r
1042 @param parent The tag under which library class declaration goes to\r
1043 **/\r
1044 public void setSpdLibClassDeclaration(String clsName, String clsUsage, String hdrFile, String help,\r
1045 String hdrAttribArch, String hdrAttribPath, String hdrAttribClass,\r
1046 String instanceVer, String hdrAttribOverID, String hdrAttribModType,\r
1047 XmlObject parent) {\r
1048\r
1049 setSpdLibraryClass(clsName, hdrFile, help, clsUsage, instanceVer, hdrAttribArch, hdrAttribModType, parent);\r
1050\r
1051 }\r
1052\r
1053 /**\r
1054 Set the contents of LibraryClass under parent element\r
1055 \r
1056 @param clsName LibraryClass element value \r
1057 @param clsUsage Reserved\r
1058 @param parent The tag under which library class declaration goes to\r
1059 **/\r
1060 public void setSpdLibraryClass(String clsName, String clsIncludeFile, String help, String clsUsage, String instanceVer, String hdrAttribArch, String hdrAttribModType, XmlObject parent) {\r
1061 LibraryClassDeclarationsDocument.LibraryClassDeclarations.LibraryClass lc = ((LibraryClassDeclarationsDocument.LibraryClassDeclarations) parent).addNewLibraryClass();\r
1062 lc.setName(clsName);\r
1063 lc.setIncludeHeader(clsIncludeFile);\r
1064 lc.setHelpText(help);\r
2f8a7517 1065// LAH added logic so you cannot set the version unless the GUID is defined.\r
d129bd96 1066\r
2f8a7517 1067 if (clsUsage != null) {\r
1068 lc.setRecommendedInstanceGuid(clsUsage);\r
1069 if (instanceVer != null) {\r
1070 lc.setRecommendedInstanceVersion(instanceVer);\r
1071 }\r
1072 }\r
d129bd96 1073 else {\r
1074 if (lc.isSetRecommendedInstanceGuid()) {\r
1075 lc.unsetRecommendedInstanceGuid();\r
1076 }\r
1077 if (lc.isSetRecommendedInstanceVersion()) {\r
1078 lc.unsetRecommendedInstanceVersion();\r
1079 }\r
1080 }\r
1081\r
a13899c5 1082 if (hdrAttribArch != null) {\r
1083 lc.setSupArchList(stringToList(hdrAttribArch));\r
322b7723 1084 } else {\r
1085 if (lc.isSetSupArchList()) {\r
1086 lc.unsetSupArchList();\r
1087 }\r
a13899c5 1088 }\r
322b7723 1089\r
a13899c5 1090 if (hdrAttribModType != null) {\r
97796eaa 1091 lc.setSupModuleList(stringToList(hdrAttribModType));\r
1092 } else {\r
322b7723 1093 if (lc.isSetSupModuleList()) {\r
1094 lc.unsetSupModuleList();\r
1095 }\r
a13899c5 1096 }\r
1097 \r
1098 }\r
1099\r
1100 /**\r
1101 Set contents of IncludeHeader under parent element\r
1102 \r
1103 @param modType Reserved\r
1104 @param hdrFile IncludeHeader element value\r
1105 @param hdrAttribGuid Reserved\r
1106 @param hdrAttribArch Reserved\r
1107 @param hdrAttribPath Reserved\r
1108 @param hdrAttribClass Reserved\r
1109 @param hdrAttribVer Reserved\r
1110 @param hdrAttribOverID Reserved\r
1111 @param parent The tag under which library class declaration goes to\r
1112 **/\r
1113 public void setSpdIncludeHeader(String modType, String hdrFile, String hdrAttribGuid, String hdrAttribArch,\r
1114 String hdrAttribPath, String hdrAttribClass, String hdrAttribVer,\r
1115 String hdrAttribOverID, XmlObject parent) {\r
1116 \r
1117 if (parent instanceof LibraryClassDeclarationsDocument.LibraryClassDeclarations) {\r
1118 } else if (parent instanceof PackageHeadersDocument.PackageHeaders) {\r
1119 PackageHeadersDocument.PackageHeaders.IncludePkgHeader ih = null;\r
1120 ih = ((PackageHeadersDocument.PackageHeaders) parent).addNewIncludePkgHeader();\r
1121 ih.setStringValue(hdrFile);\r
1122 ih.setModuleType(ModuleTypeDef.Enum.forString(modType));\r
1123 } else {\r
1124 return;\r
1125 }\r
1126\r
1127 if (hdrAttribGuid != null) {\r
1128 }\r
1129 if (hdrAttribPath != null) {\r
1130 }\r
1131 if (hdrAttribClass != null) {\r
1132 }\r
1133 if (hdrAttribVer != null) {\r
1134 }\r
1135 if (hdrAttribOverID != null) {\r
1136 }\r
1137\r
1138 }\r
1139\r
1140 /**\r
1141 Generate MsaFile element.\r
1142 \r
1143 @param msaFileName MsaFile element value\r
1144 @param archType Reserved\r
1145 **/\r
1146 public void genSpdMsaFiles(String msaFileName, String moduleName, String ver, String guid) {\r
1147 if (getSpdMsaFiles() == null) {\r
1148 spdMsaFiles = psaRoot.addNewMsaFiles();\r
1149 }\r
1150 setSpdMsaFile(msaFileName, moduleName, ver, guid, spdMsaFiles);\r
1151 \r
1152 }\r
a490bca8 1153 \r
1154 public void getSpdMsaFile (String[] sa, int i) {\r
1155 if (getSpdMsaFiles() == null) {\r
1156 return;\r
1157 }\r
1158 XmlCursor cursor = getSpdMsaFiles().newCursor();\r
1159 if (cursor.toFirstChild()) {\r
1160 for (int j = 0; j < i; ++j) {\r
1161 cursor.toNextSibling();\r
1162 }\r
1163 sa[0] = cursor.getTextValue();\r
1164 }\r
1165 cursor.dispose();\r
1166 }\r
a13899c5 1167\r
1168 /**\r
1169 Set MsaFile contents under parent element.\r
1170 \r
1171 @param msaFileName MsaFile element value\r
1172 @param parent Element under which MsaFile goes to\r
1173 **/\r
1174 public void setSpdMsaFile(String msaFileName, String moduleName, String ver, String guid, XmlObject parent) {\r
1175 MsaFilesDocument.MsaFiles f = (MsaFilesDocument.MsaFiles)parent;\r
1176 f.addNewFilename().setStringValue(msaFileName);\r
1177// f.setFilename(msaFileName);\r
1178// f.setModuleName(moduleName);\r
1179// f.setModuleVersion(ver);\r
1180// f.setModuleGuid(guid);\r
1181 }\r
1182\r
1183 /**\r
1184 Generate PackageHeader element using parameters passed in.\r
1185 \r
1186 @param ModHdrModType ModuleType attribute of IncludeHeader element\r
1187 @param hdrFile IncludeHeader element value\r
1188 @param hdrAttribGuid Reserved\r
1189 @param hdrAttribArch Reserved\r
1190 @param hdrAttribPath Reserved\r
1191 @param hdrAttribClass Reserved\r
1192 @param hdrAttribVer Reserved\r
1193 @param hdrAttribOverID Reserved\r
1194 **/\r
1195 public void genSpdModuleHeaders(String ModHdrModType, String hdrFile, String hdrAttribGuid, String hdrAttribArch,\r
1196 String hdrAttribPath, String hdrAttribClass, String hdrAttribVer,\r
1197 String hdrAttribOverID) {\r
1198 if (getSpdModHdrs() == null) {\r
1199 spdModHdrs = psaRoot.addNewPackageHeaders();\r
1200 }\r
1201\r
1202 //\r
1203 // add IncludeHeader under PackageHeaders element\r
1204 //\r
1205 setSpdIncludeHeader(ModHdrModType, hdrFile, hdrAttribGuid, hdrAttribArch, hdrAttribPath, hdrAttribClass,\r
1206 hdrAttribVer, hdrAttribOverID, spdModHdrs);\r
1207 }\r
a490bca8 1208 \r
1209 public void getSpdModuleHeader(String[] sa, int i) {\r
1210 if (getSpdModHdrs() == null) {\r
1211 return;\r
1212 }\r
1213 XmlCursor cursor = getSpdModHdrs().newCursor();\r
1214 if (cursor.toFirstChild()) {\r
1215 for (int j = 0; j < i; ++j) {\r
1216 cursor.toNextSibling();\r
1217 }\r
1218 PackageHeadersDocument.PackageHeaders.IncludePkgHeader ih = (PackageHeadersDocument.PackageHeaders.IncludePkgHeader)cursor.getObject();\r
1219 sa[0] = ih.getModuleType()+"";\r
1220 sa[1] = ih.getStringValue();\r
1221 }\r
1222 cursor.dispose();\r
1223 }\r
a13899c5 1224\r
1225 /**\r
1226 Generate GUID declaration element using parameters passed in.\r
1227 \r
1228 @param guidDeclEntryName Name attribute of Entry element\r
1229 @param guidDeclCName CName element value\r
1230 @param guidDeclGuid Guid element value\r
1231 @param guidDeclFeatureFlag Reserved\r
1232 **/\r
1233 public void genSpdGuidDeclarations(String guidDeclEntryName, String guidDeclCName, String guidDeclGuid,\r
1234 String guidDeclHelp, Vector<String> archList, Vector<String> modTypeList,\r
1235 Vector<String> guidTypeList) {\r
1236 if (getSpdGuidDeclarations() == null) {\r
1237 spdGuidDeclarations = psaRoot.addNewGuidDeclarations();\r
1238 }\r
1239\r
1240 setSpdEntry(guidDeclEntryName, guidDeclCName, guidDeclGuid, guidDeclHelp, archList, modTypeList, guidTypeList, spdGuidDeclarations);\r
1241 }\r
1242\r
1243 /**\r
1244 Generate protocol declaration element using parameters passed in.\r
1245 \r
1246 @param protocolDeclEntryName Name attribute of Entry element\r
1247 @param protocolDeclCName CName element value\r
1248 @param protocolDeclGuid Guid element value\r
1249 @param protocolDeclFeatureFlag Reserved\r
1250 **/\r
1251 public void genSpdProtocolDeclarations(String protocolDeclEntryName, String protocolDeclCName,\r
1252 String protocolDeclGuid, String protocolDeclFeatureFlag,\r
1be13d3f 1253 Vector<String> archList, Vector<String> modTypeList, Vector<String> guidTypeList) {\r
a13899c5 1254 if (getSpdProtocolDeclarations() == null) {\r
1255 spdProtocolDeclarations = psaRoot.addNewProtocolDeclarations();\r
1256 }\r
1257\r
1258 setSpdEntry(protocolDeclEntryName, protocolDeclCName, protocolDeclGuid, protocolDeclFeatureFlag,\r
1be13d3f 1259 archList, modTypeList, guidTypeList, spdProtocolDeclarations);\r
a13899c5 1260 }\r
1261\r
1262 /**\r
1263 Generate PPI declaration element using parameters passed in.\r
1264 \r
1265 @param ppiDeclEntryName Name attribute of Entry element\r
1266 @param ppiDeclCName CName element value\r
1267 @param ppiDeclGuid Guid element value\r
1268 @param ppiDeclFeatureFlag Reserved\r
1269 **/\r
1270 public void genSpdPpiDeclarations(String ppiDeclEntryName, String ppiDeclCName, String ppiDeclGuid,\r
1be13d3f 1271 String ppiDeclFeatureFlag, Vector<String> archList, Vector<String> modTypeList, Vector<String> guidTypeList) {\r
a13899c5 1272 if (getSpdPpiDeclarations() == null) {\r
1273 spdPpiDeclarations = psaRoot.addNewPpiDeclarations();\r
1274 }\r
1275\r
1be13d3f 1276 setSpdEntry(ppiDeclEntryName, ppiDeclCName, ppiDeclGuid, ppiDeclFeatureFlag, archList, modTypeList, guidTypeList, spdPpiDeclarations);\r
a13899c5 1277 }\r
a490bca8 1278 \r
1279 public void getSpdGuidDeclaration(String[] sa, int i) {\r
1280 if (getSpdGuidDeclarations() == null) {\r
1281 return;\r
1282 }\r
1283 getSpdEntry(sa, i, getSpdGuidDeclarations());\r
1284 }\r
1285 \r
1286 public void getSpdProtocolDeclaration(String[] sa, int i) {\r
1287 if (getSpdProtocolDeclarations() == null) {\r
1288 return;\r
1289 }\r
1290 getSpdEntry(sa, i, getSpdProtocolDeclarations());\r
1291 }\r
1292 \r
1293 public void getSpdPpiDeclaration(String[] sa, int i) {\r
1294 if (getSpdPpiDeclarations() == null) {\r
1295 return;\r
1296 }\r
1297 getSpdEntry(sa, i, getSpdPpiDeclarations());\r
1298 }\r
a13899c5 1299\r
a490bca8 1300 public void getSpdEntry(String[] sa, int i, XmlObject parent) {\r
1301 XmlCursor cursor = parent.newCursor();\r
1302 if (cursor.toFirstChild()) {\r
1303 for (int j = 0; j < i; ++j) {\r
1304 cursor.toNextSibling();\r
1305 }\r
1306 if (parent instanceof GuidDeclarationsDocument.GuidDeclarations) {\r
1307 GuidDeclarationsDocument.GuidDeclarations.Entry e = (GuidDeclarationsDocument.GuidDeclarations.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 ProtocolDeclarationsDocument.ProtocolDeclarations) {\r
1318 ProtocolDeclarationsDocument.ProtocolDeclarations.Entry e = (ProtocolDeclarationsDocument.ProtocolDeclarations.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 if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) {\r
1329 PpiDeclarationsDocument.PpiDeclarations.Entry e = (PpiDeclarationsDocument.PpiDeclarations.Entry)cursor.getObject();\r
1330 sa[0] = e.getName();\r
1331 sa[1] = e.getCName();\r
1332 sa[2] = e.getGuidValue();\r
1333 sa[3] = e.getHelpText();\r
1334 sa[4] = listToString(e.getSupArchList());\r
1335 sa[5] = listToString(e.getSupModuleList());\r
1336 sa[6] = listToString(e.getGuidTypeList());\r
1337 }\r
1338 \r
1339 }\r
1340 cursor.dispose();\r
1341 }\r
a13899c5 1342 /**\r
1343 Set Entry contents using parameters passed in\r
1344 \r
1345 @param entryName Name attribute of Entry element\r
1346 @param cName CName element value\r
1347 @param guid Guid element value\r
1348 @param featureFlag Reserved\r
1349 @param parent The tag under which Entry element goes to\r
1350 **/\r
1351 public void setSpdEntry(String entryName, String cName, String guid, String help, \r
1352 Vector<String> archList, Vector<String> modTypeList,\r
1353 Vector<String> guidTypeList, XmlObject parent) {\r
1354\r
1355 if (parent instanceof GuidDeclarationsDocument.GuidDeclarations) {\r
1356 GuidDeclarationsDocument.GuidDeclarations.Entry e = ((GuidDeclarations) parent).addNewEntry();\r
1357 e.setName(entryName);\r
1358 e.setCName(cName);\r
1359 e.setGuidValue(guid);\r
1360 e.setHelpText(help);\r
2c85fbc8 1361 if (guidTypeList != null) {\r
1362 e.setGuidTypeList(guidTypeList);\r
1363 }\r
1364 else{\r
1365 if (e.isSetGuidTypeList()) {\r
1366 e.unsetGuidTypeList();\r
1367 }\r
1368 }\r
1369 if (archList != null) {\r
1370 e.setSupArchList(archList);\r
1371 }\r
1372 else {\r
1373 if (e.isSetSupArchList()) {\r
1374 e.unsetSupArchList();\r
1375 }\r
1376 }\r
1377 if (modTypeList != null){\r
1378 e.setSupModuleList(modTypeList);\r
1379 }\r
1380 else {\r
1381 if (e.isSetSupModuleList()) {\r
1382 e.unsetSupModuleList();\r
1383 }\r
1384 }\r
1385\r
a13899c5 1386 return;\r
1387 }\r
1388 if (parent instanceof ProtocolDeclarationsDocument.ProtocolDeclarations) {\r
1389 ProtocolDeclarationsDocument.ProtocolDeclarations.Entry pe = ((ProtocolDeclarationsDocument.ProtocolDeclarations) parent)\r
1390 .addNewEntry();\r
1391 pe.setName(entryName);\r
1392 pe.setCName(cName);\r
1393 pe.setGuidValue(guid);\r
1394 pe.setHelpText(help);\r
1be13d3f 1395 if (guidTypeList != null) {\r
1396 pe.setGuidTypeList(guidTypeList);\r
1397 }\r
1398 else{\r
1399 if (pe.isSetGuidTypeList()) {\r
1400 pe.unsetGuidTypeList();\r
1401 }\r
1402 }\r
2c85fbc8 1403 if (archList != null) {\r
1404 pe.setSupArchList(archList);\r
1405 }\r
1406 else {\r
1407 if (pe.isSetSupArchList()) {\r
1408 pe.unsetSupArchList();\r
1409 }\r
1410 }\r
1411 if (modTypeList != null){\r
1412 pe.setSupModuleList(modTypeList);\r
1413 }\r
1414 else {\r
1415 if (pe.isSetSupModuleList()) {\r
1416 pe.unsetSupModuleList();\r
1417 }\r
1418 }\r
1419\r
a13899c5 1420 return;\r
1421 }\r
1422 if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) {\r
1423 PpiDeclarationsDocument.PpiDeclarations.Entry ppe = ((PpiDeclarationsDocument.PpiDeclarations) parent)\r
1424 .addNewEntry();\r
1425 ppe.setName(entryName);\r
1426 ppe.setCName(cName);\r
1427 ppe.setGuidValue(guid);\r
1428 ppe.setHelpText(help);\r
1be13d3f 1429 if (guidTypeList != null) {\r
1430 ppe.setGuidTypeList(guidTypeList);\r
1431 }\r
1432 else{\r
1433 if (ppe.isSetGuidTypeList()) {\r
1434 ppe.unsetGuidTypeList();\r
1435 }\r
1436 }\r
2c85fbc8 1437 if (archList != null) {\r
1438 ppe.setSupArchList(archList);\r
1439 }\r
1440 else {\r
1441 if (ppe.isSetSupArchList()) {\r
1442 ppe.unsetSupArchList();\r
1443 }\r
1444 }\r
1445 if (modTypeList != null){\r
1446 ppe.setSupModuleList(modTypeList);\r
1447 }\r
1448 else {\r
1449 if (ppe.isSetSupModuleList()) {\r
1450 ppe.unsetSupModuleList();\r
1451 }\r
1452 }\r
1453\r
a13899c5 1454 return;\r
1455 }\r
1456\r
1457 return;\r
1458\r
1459 }\r
1460\r
1461 /**\r
1462 Generate Pcd definition using parameters passed in\r
1463 \r
1464 @param pcdItemTypes ItemType attribute of PcdEntry element\r
1465 @param cName C_Name element value\r
1466 @param token Token element value\r
1467 @param dataType DatumType element value\r
1468 @param skuEnable Reserved\r
1469 @param sku Reserved\r
1470 @param maxSku Reserved\r
1471 @param hiiEnable Reserved\r
1472 @param varGuid Reserved\r
1473 @param varName Reserved\r
1474 @param defaultString DefaultString element value\r
1475 **/\r
1476 public void genSpdPcdDefinitions(String cName, String token, String dataType, String pcdItemTypes, \r
1477 String spaceGuid, String defaultString, String help, String archList,\r
1478 String modTypeList) {\r
1479 if (getSpdPcdDefinitions() == null) {\r
1480 spdPcdDefinitions = psaRoot.addNewPcdDeclarations();\r
1481 }\r
1482\r
1483 setSpdPcdEntry(pcdItemTypes, cName, token, dataType, spaceGuid, help,\r
1484 defaultString, archList, modTypeList, spdPcdDefinitions);\r
1485 }\r
a490bca8 1486 \r
1487 public void getSpdPcdDeclaration(String[] sa, int i) {\r
1488 if (getSpdPcdDefinitions() == null) {\r
1489 return;\r
1490 }\r
1491 \r
1492 XmlCursor cursor = getSpdPcdDefinitions().newCursor();\r
1493 if (cursor.toFirstChild()) {\r
1494 for (int j = 0; j < i; ++j) {\r
1495 cursor.toNextSibling();\r
1496 }\r
1497 PcdDeclarationsDocument.PcdDeclarations.PcdEntry pe = (PcdDeclarationsDocument.PcdDeclarations.PcdEntry)cursor.getObject();\r
1498 sa[0] = pe.getCName();\r
1499 sa[1] = pe.getToken()+"";\r
1500 sa[2] = pe.getTokenSpaceGuidCName();\r
1501 sa[3] = pe.getDatumType()+"";\r
1502 sa[4] = pe.getDefaultValue();\r
1503 sa[5] = pe.getHelpText();\r
1504 sa[6] = listToString(pe.getValidUsage());\r
1505 sa[7] = listToString(pe.getSupArchList());\r
1506 sa[8] = listToString(pe.getSupModuleList());\r
1507 }\r
1508 cursor.dispose();\r
1509 }\r
a13899c5 1510\r
1511 /**\r
1512 Set Pcd entry contents under parent tag\r
1513 \r
1514 @param pcdItemTypes ItemType attribute of PcdEntry element\r
1515 @param cName C_Name element value\r
1516 @param token Token element value\r
1517 @param dataType DatumType element value\r
1518 @param spaceGuid Reserved\r
1519 @param help Reserved\r
1520 @param defaultString DefaultString element value\r
1521 @param parent Tag under which PcdEntry goes to\r
1522 **/\r
1523 public void setSpdPcdEntry(String pcdItemTypes, String cName, String token, String dataType, String spaceGuid, String help,\r
1524 String defaultString, String archList, String modTypeList, XmlObject parent) {\r
1525\r
1526 PcdDeclarationsDocument.PcdDeclarations.PcdEntry pe = ((PcdDeclarationsDocument.PcdDeclarations) parent).addNewPcdEntry();\r
1527 \r
1528 //ToDo: maybe multiple types in, need parse pcdItemTypes.\r
1529 String usage[] = pcdItemTypes.split("( )+");\r
1530 List<String> l = new ArrayList<String>();\r
1531 for (int i = 0; i < usage.length; ++i) {\r
1532 l.add(usage[i]); \r
1533 }\r
1534 pe.setValidUsage(l);\r
1535 pe.setCName(cName);\r
1536 pe.setToken(token);\r
1537 pe.setDatumType(PcdDataTypes.Enum.forString(dataType));\r
1538 pe.setDefaultValue(defaultString);\r
1539 pe.setTokenSpaceGuidCName(spaceGuid);\r
1540 pe.setHelpText(help);\r
1541 if (archList != null){\r
97796eaa 1542 pe.setSupArchList(stringToList(archList));\r
1543 } else {\r
322b7723 1544 if (pe.isSetSupArchList()) {\r
1545 pe.unsetSupArchList();\r
1546 }\r
a13899c5 1547 }\r
1548 if (modTypeList != null){\r
97796eaa 1549 pe.setSupModuleList(stringToList(modTypeList));\r
1550 } else {\r
322b7723 1551 if (pe.isSetSupModuleList()) {\r
1552 pe.unsetSupModuleList();\r
1553 }\r
a13899c5 1554 }\r
1555 }\r
1556\r
1557 /**\r
1558 Get PpiDeclarations element\r
1559 \r
1560 @return PpiDeclarationsDocument.PpiDeclarations\r
1561 **/\r
1562 public PpiDeclarationsDocument.PpiDeclarations getSpdPpiDeclarations() {\r
1563 if (spdPpiDeclarations == null) {\r
1564 spdPpiDeclarations = psaRoot.getPpiDeclarations();\r
1565 }\r
1566 return spdPpiDeclarations;\r
1567 }\r
1568\r
1569 /**\r
1570 Get ProtocolDeclarations element\r
1571 \r
1572 @return ProtocolDeclarationsDocument.ProtocolDeclarations\r
1573 **/\r
1574 public ProtocolDeclarationsDocument.ProtocolDeclarations getSpdProtocolDeclarations() {\r
1575 if (spdProtocolDeclarations == null) {\r
1576 spdProtocolDeclarations = psaRoot.getProtocolDeclarations();\r
1577 }\r
1578 return spdProtocolDeclarations;\r
1579 }\r
1580\r
1581 /**\r
1582 Get GuidDeclarations element\r
1583 \r
1584 @return GuidDeclarationsDocument.GuidDeclarations\r
1585 **/\r
1586 public GuidDeclarationsDocument.GuidDeclarations getSpdGuidDeclarations() {\r
1587 if (spdGuidDeclarations == null) {\r
1588 spdGuidDeclarations = psaRoot.getGuidDeclarations();\r
1589 }\r
1590 return spdGuidDeclarations;\r
1591 }\r
1592\r
1593 /**\r
1594 Get PcdDefinitions element\r
1595 \r
1596 @return PcdDefinitionsDocument.PcdDefinitions\r
1597 **/\r
1598 public PcdDeclarationsDocument.PcdDeclarations getSpdPcdDefinitions() {\r
1599 if (spdPcdDefinitions == null) {\r
1600 spdPcdDefinitions = psaRoot.getPcdDeclarations();\r
1601 }\r
1602 return spdPcdDefinitions;\r
1603 }\r
1604\r
1605 /**\r
1606 Get PackageHeaders element\r
1607 \r
1608 @return PackageHeadersDocument.PackageHeaders\r
1609 **/\r
1610 public PackageHeadersDocument.PackageHeaders getSpdModHdrs() {\r
1611 if (spdModHdrs == null) {\r
1612 spdModHdrs = psaRoot.getPackageHeaders();\r
1613 }\r
1614 return spdModHdrs;\r
1615 }\r
1616\r
1617 /**\r
1618 Get MsaFiles element\r
1619 \r
1620 @return MsaFilesDocument.MsaFiles\r
1621 **/\r
1622 public MsaFilesDocument.MsaFiles getSpdMsaFiles() {\r
1623 if (spdMsaFiles == null) {\r
1624 spdMsaFiles = psaRoot.getMsaFiles();\r
1625 }\r
1626 return spdMsaFiles;\r
1627 }\r
1628\r
1629 /**\r
1630 Get LibraryClassDeclarations element\r
1631 \r
1632 @return LibraryClassDeclarationsDocument.LibraryClassDeclarations\r
1633 **/\r
1634 public LibraryClassDeclarationsDocument.LibraryClassDeclarations getSpdLibClassDeclarations() {\r
1635 if (spdLibClassDeclarations == null) {\r
1636 spdLibClassDeclarations = psaRoot.getLibraryClassDeclarations();\r
1637 }\r
1638 return spdLibClassDeclarations;\r
1639 }\r
1640\r
1641 public PackageDefinitionsDocument.PackageDefinitions getSpdPkgDefs() {\r
1642 if (spdPkgDefs == null) {\r
1643 spdPkgDefs = psaRoot.addNewPackageDefinitions();\r
1644 }\r
1645 return spdPkgDefs;\r
1646 }\r
1647 /**\r
1648 Get SpdHeader element\r
1649 \r
1650 @return SpdHeaderDocument.SpdHeader\r
1651 **/\r
1652 public SpdHeaderDocument.SpdHeader getSpdHdr() {\r
1653 if (spdHdr == null) {\r
1654 spdHdr = psaRoot.addNewSpdHeader();\r
1655 }\r
1656 return spdHdr;\r
1657 }\r
1658\r
1659 /**\r
1660 Set value to Guid element\r
1661 \r
1662 @param guid The value set to Guid element\r
1663 **/\r
1664 public void setSpdHdrGuidValue(String guid) {\r
1665 getSpdHdr().setGuidValue(guid);\r
1666 }\r
1667\r
1668 /**\r
1669 Get Version element under SpdHdr\r
1670 \r
1671 @return String\r
1672 **/\r
1673 public String getSpdHdrVer() {\r
1674 return getSpdHdr().getVersion();\r
1675 }\r
1676\r
1677 /**\r
1678 Set value to Version element\r
1679 \r
1680 @param ver The value set to Version element\r
1681 **/\r
1682 public void setSpdHdrVer(String ver) {\r
1683 getSpdHdr().setVersion(ver);\r
1684 }\r
1685\r
1686 public String getSpdHdrAbs(){\r
1687 return getSpdHdr().getAbstract();\r
1688 \r
1689 }\r
1690 \r
1691 /**\r
1692 Set value to Abstract element\r
1693 \r
1694 @param abs The value set to Abstract element\r
1695 **/\r
1696 public void setSpdHdrAbs(String abs) {\r
1697\r
1698 getSpdHdr().setAbstract(abs);\r
1699 }\r
1700 \r
1701 public String getSpdHdrDescription(){\r
1702 return getSpdHdr().getDescription(); \r
1703 }\r
1704 /**\r
1705 Set value to Description element\r
1706 \r
1707 @param des The value set to Description element\r
1708 **/\r
1709 public void setSpdHdrDescription(String des) {\r
1710 getSpdHdr().setDescription(des);\r
1711 }\r
1712 \r
1713 public String getSpdHdrCopyright(){\r
1714 return getSpdHdr().getCopyright();\r
1715 }\r
1716 /**\r
1717 Set value to Copyright element\r
1718 \r
1719 @param cpRit The value set to Copyright element\r
1720 **/\r
1721 public void setSpdHdrCopyright(String cpRit) {\r
1722\r
1723 getSpdHdr().setCopyright(cpRit);\r
1724\r
1725 }\r
1726 /**\r
1727 Get License element under SpdHdr\r
1728 \r
1729 @return String\r
1730 **/\r
1731 public String getSpdHdrLicense() {\r
1732 if (getSpdHdr().getLicense() != null) {\r
1733 return getSpdHdr().getLicense().getStringValue();\r
1734 }\r
1735 return null;\r
1736 }\r
1737\r
1738 /**\r
1739 Set value to License element\r
1740 \r
1741 @param license The value set to License element\r
1742 **/\r
1743 public void setSpdHdrLicense(String license) {\r
1744 if (getSpdHdr().getLicense() == null){\r
1745 getSpdHdr().addNewLicense().setStringValue(license);\r
1746 }\r
1747 else {\r
1748 getSpdHdr().getLicense().setStringValue(license);\r
1749 }\r
1750 }\r
1751 \r
1752 public String getSpdHdrUrl(){\r
1753 if (getSpdHdr().getLicense() != null) {\r
1754 return getSpdHdr().getLicense().getURL();\r
1755 }\r
1756 return null;\r
1757 }\r
1758 \r
1759 public void setSpdHdrUrl(String url){\r
1760 getSpdHdr().getLicense().setURL(url);\r
1761 }\r
1762\r
1763 /**\r
1764 Get PackageName element under SpdHdr\r
1765 \r
1766 @return String\r
1767 **/\r
1768 public String getSpdHdrPkgName() {\r
1769 \r
1770 return getSpdHdr().getPackageName();\r
1771 }\r
1772\r
1773 /**\r
1774 Set value to PackageName element\r
1775 \r
1776 @param pkgName The value set to PackageName element\r
1777 **/\r
1778 public void setSpdHdrPkgName(String pkgName) {\r
1779 getSpdHdr().setPackageName(pkgName);\r
1780 }\r
1781\r
1782 public String getSpdHdrGuidValue(){\r
1783 return getSpdHdr().getGuidValue();\r
1784 }\r
1785 \r
1786 /**\r
1787 Reserved method\r
1788 \r
1789 @return SpecificationDocument.Specification\r
1790 **/\r
1791 public String getSpdHdrSpec() {\r
c06e8657 1792 return "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052";\r
a13899c5 1793// return getSpdHdr().getSpecification();\r
1794 }\r
1795\r
1796 /**\r
1797 Reserved method\r
1798 \r
1799 @param spec \r
1800 **/\r
1801 public void setSpdHdrSpec(String spec) {\r
c06e8657 1802 spec = "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052";\r
a13899c5 1803 getSpdHdr().setSpecification(spec);\r
1804 \r
1805 }\r
1806\r
1807 public String getSpdPkgDefsRdOnly(){\r
1808 return getSpdPkgDefs().getReadOnly() + "";\r
1809 }\r
1810 /**\r
1811 Set value to ReadOnly element\r
1812 \r
1813 @param rdOnly The value set to ReadOnly element\r
1814 **/\r
1815 public void setSpdPkgDefsRdOnly(String rdOnly) {\r
1816\r
1817 getSpdPkgDefs().setReadOnly(new Boolean(rdOnly));\r
1818 }\r
1819\r
1820 public String getSpdPkgDefsRePkg(){\r
1821 return getSpdPkgDefs().getRePackage() + "";\r
1822 }\r
1823 /**\r
1824 Set value to RePackage element\r
1825 \r
1826 @param rePkg The value set to RePackage element\r
1827 **/\r
1828 public void setSpdPkgDefsRePkg(String rePkg) {\r
1829\r
1830 getSpdPkgDefs().setRePackage(new Boolean(rePkg));\r
1831 }\r
1832\r
1833 /**\r
1834 Set value to URL element\r
1835 \r
1836 @param url The value set to URL element\r
1837 **/\r
1838// public void setSpdHdrURL(String url) {\r
1839// getSpdHdr().setURL(url);\r
1840// }\r
1841\r
1842 /**\r
1843 Get xml file\r
1844 \r
1845 @return File\r
1846 **/\r
1847 public File getFile() {\r
1848 return file;\r
1849 }\r
1850\r
1851 /**\r
1852 Set file\r
1853 \r
1854 @param file File with xml format\r
1855 **/\r
1856 public void setFile(File file) {\r
1857 this.file = file;\r
1858 }\r
1859 \r
1860 private List<String> stringToList(String s){\r
ce73a791 1861 if (s == null || s.length() == 0) {\r
a13899c5 1862 return null;\r
1863 }\r
ce73a791 1864 Vector<String> al = new Vector<String>();\r
a13899c5 1865 String[] sArray = s.split(" ");\r
1866 for(int i = 0; i < sArray.length; ++i){\r
1867 al.add(sArray[i]);\r
1868 }\r
1869 return al; \r
1870 }\r
1871 \r
ce73a791 1872 private String listToString(List l) {\r
a13899c5 1873 if (l == null) {\r
1874 return null;\r
1875 }\r
1876 String s = " ";\r
1877 ListIterator li = l.listIterator();\r
1878 while(li.hasNext()) {\r
1879 s += li.next();\r
1880 s += " ";\r
1881 }\r
1882 return s.trim();\r
1883 }\r
1884\r
1885}\r