]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/PackageEditor/src/org/tianocore/packaging/SpdFileContents.java
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@511 6f19259b...
[mirror_edk2.git] / Tools / Source / PackageEditor / src / org / tianocore / packaging / SpdFileContents.java
index e165656b92623a17c2606840944ded7712d4cb98..9511eed3d56ba7df223aaa34b07e0a1c4067e338 100644 (file)
@@ -16,7 +16,7 @@ import java.io.File;
 import java.io.IOException;\r
 import java.util.List;\r
 import java.util.ListIterator;\r
-\r
+import java.math.*;\r
 import org.apache.xmlbeans.XmlObject;\r
 import org.apache.xmlbeans.XmlOptions;\r
 import org.apache.xmlbeans.XmlCursor;\r
@@ -63,7 +63,7 @@ public class SpdFileContents {
 \r
     private SpdHeaderDocument.SpdHeader spdHdr = null;\r
 \r
-    private PackageNameDocument.PackageName spdHdrPkgName = null;\r
+    private String spdHdrPkgName = null;\r
 \r
     private GuidDocument.Guid spdHdrGuid = null;\r
 \r
@@ -209,7 +209,7 @@ public class SpdFileContents {
         if (getSpdHdr() == null) {\r
             spdHdr = psaRoot.addNewSpdHeader();\r
         }\r
-        s[0] = getSpdHdrPkgName().getStringValue();\r
+        s[0] = getSpdHdrPkgName();\r
         s[1] = getSpdHdrGuid().getStringValue();\r
         s[2] = getSpdHdrVer();\r
         s[3] = getSpdHdrAbs().getStringValue();\r
@@ -246,6 +246,9 @@ public class SpdFileContents {
      @param libClass Caller allocated two-dimentional String array\r
     **/\r
     public void getSpdLibClassDeclarations(String[][] libClass) {\r
+        if (psaRoot.getLibraryClassDeclarations() == null){\r
+            return;\r
+        }\r
         List<LibraryClassDeclarationDocument.LibraryClassDeclaration> l = psaRoot.getLibraryClassDeclarations()\r
                                                                                  .getLibraryClassDeclarationList();\r
         int i = 0;\r
@@ -283,6 +286,9 @@ public class SpdFileContents {
     @param msaFile Caller allocated two-dimentional String array\r
    **/\r
     public void getSpdMsaFiles(String[][] msaFile) {\r
+        if (psaRoot.getMsaFiles() == null) {\r
+            return;\r
+        }\r
         List<MsaFilesDocument.MsaFiles.MsaFile> l = psaRoot.getMsaFiles().getMsaFileList();\r
         int i = 0;\r
         ListIterator li = l.listIterator();\r
@@ -314,6 +320,10 @@ public class SpdFileContents {
     @param pkgHeader Caller allocated two-dimentional String array\r
    **/\r
     public void getSpdPackageHeaders(String[][] pkgHeader) {\r
+        if (psaRoot.getPackageHeaders() == null) {\r
+            return;\r
+        }\r
+\r
         List<IncludeHeaderDocument.IncludeHeader> l = psaRoot.getPackageHeaders().getIncludeHeaderList();\r
         int i = 0;\r
         ListIterator li = l.listIterator();\r
@@ -346,6 +356,10 @@ public class SpdFileContents {
     @param guid Caller allocated two-dimentional String array\r
    **/\r
     public void getSpdGuidDeclarations(String[][] guid) {\r
+        if (psaRoot.getGuidDeclarations() == null) {\r
+            return;\r
+        }\r
+        \r
         List<GuidDeclarationsDocument.GuidDeclarations.Entry> l = psaRoot.getGuidDeclarations().getEntryList();\r
         int i = 0;\r
         ListIterator li = l.listIterator();\r
@@ -379,6 +393,10 @@ public class SpdFileContents {
     @param protocol Caller allocated two-dimentional String array\r
    **/\r
     public void getSpdProtocolDeclarations(String[][] protocol) {\r
+        if (psaRoot.getProtocolDeclarations() == null) {\r
+            return;\r
+        }\r
+        \r
         List<ProtocolDeclarationsDocument.ProtocolDeclarations.Entry> l = psaRoot.getProtocolDeclarations()\r
                                                                                  .getEntryList();\r
         int i = 0;\r
@@ -413,6 +431,10 @@ public class SpdFileContents {
     @param ppi Caller allocated two-dimentional String array\r
    **/\r
     public void getSpdPpiDeclarations(String[][] ppi) {\r
+        if (psaRoot.getPpiDeclarations() == null) {\r
+            return;\r
+        }\r
+        \r
         List<PpiDeclarationsDocument.PpiDeclarations.Entry> l = psaRoot.getPpiDeclarations().getEntryList();\r
         int i = 0;\r
         ListIterator li = l.listIterator();\r
@@ -446,6 +468,10 @@ public class SpdFileContents {
     @param pcd Caller allocated two-dimentional String array\r
    **/\r
     public void getSpdPcdDefinitions(String[][] pcd) {\r
+        if (psaRoot.getPcdDefinitions() == null) {\r
+            return;\r
+        }\r
+        \r
         List<PcdDefinitionsDocument.PcdDefinitions.PcdEntry> l = psaRoot.getPcdDefinitions().getPcdEntryList();\r
         int i = 0;\r
         ListIterator li = l.listIterator();\r
@@ -601,8 +627,7 @@ public class SpdFileContents {
      @param parent The tag under which library class declaration goes to\r
     **/\r
     public void setSpdLibraryClass(String clsName, String clsUsage, XmlObject parent) {\r
-        LibraryClassDocument.LibraryClass lc = ((LibraryClassDeclarationDocument.LibraryClassDeclaration) parent)\r
-                                                                                                                 .addNewLibraryClass();\r
+        LibraryClassDeclarationDocument.LibraryClassDeclaration.LibraryClass lc = ((LibraryClassDeclarationDocument.LibraryClassDeclaration) parent).addNewLibraryClass();\r
         lc.setStringValue(clsName);\r
     }\r
 \r
@@ -823,9 +848,7 @@ public class SpdFileContents {
             e.setName(entryName);\r
             e.setCName(cName);\r
             e.addNewGuid().setStringValue(guid);\r
-            if (featureFlag != null) {\r
-                e.addNewFeatureFlag().setStringValue(featureFlag);\r
-            }\r
+            \r
             return;\r
         }\r
         if (parent instanceof ProtocolDeclarationsDocument.ProtocolDeclarations) {\r
@@ -834,10 +857,7 @@ public class SpdFileContents {
             pe.setName(entryName);\r
             pe.setCName(cName);\r
             pe.addNewGuid().setStringValue(guid);\r
-            if (featureFlag != null) {\r
-                pe.addNewFeatureFlag().setStringValue(featureFlag);\r
-            }\r
-            return;\r
+            \r
         }\r
         if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) {\r
             PpiDeclarationsDocument.PpiDeclarations.Entry ppe = ((PpiDeclarationsDocument.PpiDeclarations) parent)\r
@@ -845,9 +865,7 @@ public class SpdFileContents {
             ppe.setName(entryName);\r
             ppe.setCName(cName);\r
             ppe.addNewGuid().setStringValue(guid);\r
-            if (featureFlag != null) {\r
-                ppe.addNewFeatureFlag().setStringValue(featureFlag);\r
-            }\r
+            \r
             return;\r
         }\r
 \r
@@ -1098,7 +1116,7 @@ public class SpdFileContents {
    **/\r
     public String getSpdHdrVer() {\r
         if (spdHdr != null)\r
-            return spdHdr.getVersion();\r
+            return spdHdr.getVersion() + "";\r
         else\r
             return null;\r
     }\r
@@ -1110,7 +1128,7 @@ public class SpdFileContents {
    **/\r
     public void setSpdHdrVer(String ver) {\r
         if (spdHdr != null) {\r
-            spdHdr.setVersion(ver);\r
+            spdHdr.setVersion(new BigDecimal(ver.toCharArray()));\r
         }\r
 \r
     }\r
@@ -1172,7 +1190,7 @@ public class SpdFileContents {
     \r
     @return PackageNameDocument.PackageName\r
    **/\r
-    public PackageNameDocument.PackageName getSpdHdrPkgName() {\r
+    public String getSpdHdrPkgName() {\r
         if (spdHdrPkgName == null) {\r
             spdHdrPkgName = getSpdHdr().getPackageName();\r
         }\r
@@ -1187,10 +1205,9 @@ public class SpdFileContents {
     public void setSpdHdrPkgName(String pkgName) {\r
 \r
         if (getSpdHdrPkgName() != null) {\r
-            getSpdHdrPkgName().setStringValue(pkgName);\r
+            getSpdHdr().setPackageName(pkgName);\r
         } else {\r
-            spdHdrPkgName = getSpdHdr().addNewPackageName();\r
-            spdHdrPkgName.setStringValue(pkgName);\r
+            getSpdHdr().setPackageName(pkgName);\r
         }\r
     }\r
 \r