]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
There were suppose to be three spaces, not one between SPECIFICATION and 0x00 in...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdFileContents.java
index 0fc11f08b28a42c7e41176aff7463056cc3c28ce..8805bad9041aeae561b10c8667b339581c0dca70 100644 (file)
@@ -213,26 +213,16 @@ public class FpdFileContents {
         while(li.hasNext()) {\r
             ModuleSADocument.ModuleSA msa = (ModuleSADocument.ModuleSA)li.next();\r
             if (msa.getModuleGuid().equals(s[0]) && msa.getPackageGuid().equals(s[2])) {\r
-//                if (msa.getModuleVersion() != null) {\r
-//                    if (!msa.getModuleVersion().equals(s[1])) {\r
-//                        continue;\r
-//                    }\r
-//                }\r
-//                else{\r
-//                    if (s[1] != null) {\r
-//                        continue;\r
-//                    }\r
-//                }\r
-//                if (msa.getPackageVersion() != null) {\r
-//                    if (!msa.getPackageVersion().equals(s[3])) {\r
-//                        continue;\r
-//                    }\r
-//                }\r
-//                else{\r
-//                    if (s[3] != null) {\r
-//                        continue;\r
-//                    }\r
-//                }\r
+                if (msa.getModuleVersion() != null) {\r
+                    if (!msa.getModuleVersion().equals(s[1])) {\r
+                        continue;\r
+                    }\r
+                }\r
+                if (msa.getPackageVersion() != null) {\r
+                    if (!msa.getPackageVersion().equals(s[3])) {\r
+                        continue;\r
+                    }\r
+                }\r
                 return msa;\r
             }\r
         }\r
@@ -264,6 +254,10 @@ public class FpdFileContents {
                 }\r
             }\r
             cursor.removeXml();\r
+            if (getFrameworkModulesCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -390,7 +384,7 @@ public class FpdFileContents {
             \r
         }\r
         catch (Exception e){\r
-            e.printStackTrace();\r
+//            e.printStackTrace();\r
             throw e;\r
         }\r
         \r
@@ -653,13 +647,15 @@ public class FpdFileContents {
         //ToDo add Arch filter\r
         \r
         try {\r
+            if (moduleSa == null) {\r
+                moduleSa = genModuleSA(mi);\r
+            }\r
+            \r
             ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = (ModuleSurfaceAreaDocument.ModuleSurfaceArea)GlobalData.getModuleXmlObject(mi);\r
             if (msa.getPcdCoded() == null) {\r
                 return;\r
             }\r
-            if (moduleSa == null) {\r
-                moduleSa = genModuleSA(mi);\r
-            }\r
+            \r
             Map<String, XmlObject> m = new HashMap<String, XmlObject>();\r
             m.put("ModuleSurfaceArea", msa);\r
             SurfaceAreaQuery.setDoc(m);\r
@@ -688,7 +684,7 @@ public class FpdFileContents {
             \r
         }\r
         catch (Exception e){\r
-            e.printStackTrace();\r
+//            e.printStackTrace();\r
             throw e; \r
         }\r
         \r
@@ -1003,22 +999,20 @@ public class FpdFileContents {
         \r
         XmlCursor cursor = o.newCursor();\r
         if (cursor.toFirstChild()) {\r
-            DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData pcdBuildData = \r
-                (DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData)cursor.getObject();\r
-            if (pcdBuildData.getCName().equals(cName) && pcdBuildData.getTokenSpaceGuidCName().equals(tsGuid)) {\r
-                cursor.removeXml();\r
-                cursor.dispose();\r
-                return;\r
-            }\r
-            while (cursor.toNextSibling()) {\r
-                \r
-                pcdBuildData = (DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData)cursor.getObject();\r
+            do {\r
+                DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData pcdBuildData = \r
+                    (DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData)cursor.getObject();\r
                 if (pcdBuildData.getCName().equals(cName) && pcdBuildData.getTokenSpaceGuidCName().equals(tsGuid)) {\r
                     cursor.removeXml();\r
+                    if (getDynamicPcdBuildDataCount() == 0) {\r
+                        cursor.toParent();\r
+                        cursor.removeXml();\r
+                    }\r
                     cursor.dispose();\r
                     return;\r
                 }\r
             }\r
+            while (cursor.toNextSibling());\r
         }\r
         cursor.dispose();\r
     }\r
@@ -1257,6 +1251,10 @@ public class FpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getBuildOptionsUserDefAntTaskCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -1341,6 +1339,10 @@ public class FpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getBuildOptionsOptCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -1576,10 +1578,15 @@ public class FpdFileContents {
                 cursor.toNextSibling(qSections);\r
             }\r
             if (cursor.toFirstChild()) {\r
-                for (int m = 0; m < k; ++m) {\r
+                int m = 0;\r
+                for (; m < k; ++m) {\r
                     cursor.toNextSibling();\r
                 }\r
                 cursor.removeXml();\r
+                if (m == 0) {\r
+                    cursor.toParent();\r
+                    cursor.removeXml();\r
+                }\r
             }\r
         }\r
         cursor.dispose();\r
@@ -1858,7 +1865,16 @@ public class FpdFileContents {
     }\r
     \r
     public void setPlatformDefsOutputDir(String outputDir) {\r
-        getfpdPlatformDefs().setOutputDirectory(outputDir);\r
+        if (outputDir != null && outputDir.length() > 0) {\r
+            getfpdPlatformDefs().setOutputDirectory(outputDir);\r
+        }\r
+        else{\r
+            XmlCursor cursor = getfpdPlatformDefs().newCursor();\r
+            if (cursor.toChild(new QName(xmlNs, "OutputDirectory"))) {\r
+                cursor.removeXml();\r
+            }\r
+            cursor.dispose();\r
+        }\r
     }\r
     \r
     public FlashDocument.Flash getfpdFlash() {\r
@@ -2185,7 +2201,7 @@ public class FpdFileContents {
     \r
     public String getFpdHdrSpec() {\r
 \r
-        return "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052";\r
+        return "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052";\r
 //        return getFpdHdr().getSpecification();\r
     }\r
     \r
@@ -2231,7 +2247,7 @@ public class FpdFileContents {
     }\r
     \r
     public void setFpdHdrSpec(String s){\r
-        s = "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION 0x00000052";\r
+        s = "FRAMEWORK_BUILD_PACKAGING_SPECIFICATION   0x00000052";\r
         getFpdHdr().setSpecification(s);\r
     }\r
     /**\r