]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdFileContents.java
1. Make SPD editor tables bigger.and table now focus the entry added.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdFileContents.java
index 061833b8993bda0c8a8da5aa640aa3efe7558c42..b16a1e50893a80f8ec8f80468b24900035738e26 100644 (file)
@@ -19,13 +19,11 @@ import java.util.List;
 import java.util.ListIterator;\r
 import java.util.Vector;\r
 \r
-import javax.xml.namespace.QName;\r
 \r
 import org.apache.xmlbeans.XmlObject;\r
 import org.apache.xmlbeans.XmlOptions;\r
 import org.apache.xmlbeans.XmlCursor;\r
 \r
-import org.tianocore.FilenameDocument;\r
 import org.tianocore.GuidDeclarationsDocument;\r
 \r
 import org.tianocore.LibraryClassDeclarationsDocument;\r
@@ -37,12 +35,10 @@ import org.tianocore.PackageHeadersDocument;
 import org.tianocore.PackageSurfaceAreaDocument;\r
 import org.tianocore.PcdDataTypes;\r
 import org.tianocore.PcdDeclarationsDocument;\r
-import org.tianocore.PcdItemTypes;\r
 import org.tianocore.PpiDeclarationsDocument;\r
 import org.tianocore.ProtocolDeclarationsDocument;\r
 import org.tianocore.SpdHeaderDocument;\r
 import org.tianocore.GuidDeclarationsDocument.GuidDeclarations;\r
-import org.tianocore.PackageHeadersDocument.PackageHeaders.IncludePkgHeader;\r
 \r
 /**\r
  This class processes spd file contents such as add remove xml elements.\r
@@ -133,6 +129,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdPcdDefinitionCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         } \r
         cursor.dispose();\r
     }\r
@@ -160,6 +160,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdPpiDeclarationCount() == 0){\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         } \r
         cursor.dispose();\r
     }\r
@@ -186,6 +190,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdProtocolDeclarationCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -212,7 +220,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
-\r
+            if (getSpdGuidDeclarationCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         } \r
         cursor.dispose();\r
     }\r
@@ -240,6 +251,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdPackageHeaderCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         } \r
         cursor.dispose();\r
     }\r
@@ -267,6 +282,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdMsaFileCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -294,6 +313,10 @@ public class SpdFileContents {
                 cursor.toNextSibling();\r
             }\r
             cursor.removeXml();\r
+            if (getSpdLibClassDeclarationCount() == 0) {\r
+                cursor.toParent();\r
+                cursor.removeXml();\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -363,15 +386,24 @@ public class SpdFileContents {
             e.setCName(cName);\r
             e.setGuidValue(guid);\r
             e.setHelpText(hlp);\r
-            if (stringToList(guidTypeList) != null && !guidTypeList.equals("")) {\r
+            if (stringToList(guidTypeList) != null) {\r
                 e.setGuidTypeList(stringToList(guidTypeList));\r
             }\r
+            else{\r
+                e.setGuidTypeList(null);\r
+            }\r
             if (stringToList(archList) != null){\r
                 e.setSupArchList(stringToList(archList));\r
             }\r
+            else{\r
+                e.setSupArchList(null);\r
+            }\r
             if (stringToList(modTypeList) != null) {\r
                 e.setSupModuleList(stringToList(modTypeList));\r
             }\r
+            else{\r
+                e.setSupModuleList(null);\r
+            }\r
             \r
         }\r
         cursor.dispose();\r
@@ -397,9 +429,15 @@ public class SpdFileContents {
             if (stringToList(archList) != null){\r
                 e.setSupArchList(stringToList(archList));\r
             }\r
+            else{\r
+                e.setSupArchList(null);\r
+            }\r
             if (stringToList(modTypeList) != null) {\r
                 e.setSupModuleList(stringToList(modTypeList));\r
             }\r
+            else{\r
+                e.setSupModuleList(null);\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -424,9 +462,15 @@ public class SpdFileContents {
             if (stringToList(archList) != null){\r
                 e.setSupArchList(stringToList(archList));\r
             }\r
+            else{\r
+                e.setSupArchList(null);\r
+            }\r
             if (stringToList(modTypeList) != null) {\r
                 e.setSupModuleList(stringToList(modTypeList));\r
             }\r
+            else{\r
+                e.setSupModuleList(null);\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -1096,15 +1140,18 @@ public class SpdFileContents {
             e.setCName(cName);\r
             e.setGuidValue(guid);\r
             e.setHelpText(help);\r
-            if (guidTypeList != null && guidTypeList.size() > 0) {\r
-                e.setGuidTypeList(new ArrayList<String>(guidTypeList));\r
-            }\r
-            if (archList != null && archList.size() > 0){\r
-                e.setSupArchList(new ArrayList<String>(archList));\r
-            }\r
-            if (modTypeList != null && modTypeList.size() > 0) {\r
-                e.setSupModuleList(new ArrayList<String>(modTypeList));\r
-            }\r
+            e.setGuidTypeList(guidTypeList);\r
+            e.setSupArchList(archList);\r
+            e.setSupModuleList(modTypeList);\r
+//            if (guidTypeList != null && guidTypeList.size() > 0) {\r
+//                e.setGuidTypeList(new ArrayList<String>(guidTypeList));\r
+//            }\r
+//            if (archList != null && archList.size() > 0){\r
+//                e.setSupArchList(new ArrayList<String>(archList));\r
+//            }\r
+//            if (modTypeList != null && modTypeList.size() > 0) {\r
+//                e.setSupModuleList(new ArrayList<String>(modTypeList));\r
+//            }\r
             return;\r
         }\r
         if (parent instanceof ProtocolDeclarationsDocument.ProtocolDeclarations) {\r
@@ -1114,12 +1161,14 @@ public class SpdFileContents {
             pe.setCName(cName);\r
             pe.setGuidValue(guid);\r
             pe.setHelpText(help);\r
-            if (archList != null && archList.size() > 0){\r
-                pe.setSupArchList(new ArrayList<String>(archList));\r
-            }\r
-            if (modTypeList != null && modTypeList.size() > 0) {\r
-                pe.setSupModuleList(new ArrayList<String>(modTypeList));\r
-            }\r
+            pe.setSupArchList(archList);\r
+            pe.setSupModuleList(modTypeList);\r
+//            if (archList != null && archList.size() > 0){\r
+//                pe.setSupArchList(new ArrayList<String>(archList));\r
+//            }\r
+//            if (modTypeList != null && modTypeList.size() > 0) {\r
+//                pe.setSupModuleList(new ArrayList<String>(modTypeList));\r
+//            }\r
             return;\r
         }\r
         if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) {\r
@@ -1129,12 +1178,14 @@ public class SpdFileContents {
             ppe.setCName(cName);\r
             ppe.setGuidValue(guid);\r
             ppe.setHelpText(help);\r
-            if (archList != null && archList.size() > 0){\r
-                ppe.setSupArchList(new ArrayList<String>(archList));\r
-            }\r
-            if (archList != null && modTypeList.size() > 0) {\r
-                ppe.setSupModuleList(new ArrayList<String>(modTypeList));\r
-            }\r
+            ppe.setSupArchList(archList);\r
+            ppe.setSupModuleList(modTypeList);\r
+//            if (archList != null && archList.size() > 0){\r
+//                ppe.setSupArchList(new ArrayList<String>(archList));\r
+//            }\r
+//            if (archList != null && modTypeList.size() > 0) {\r
+//                ppe.setSupModuleList(new ArrayList<String>(modTypeList));\r
+//            }\r
             return;\r
         }\r
 \r
@@ -1510,10 +1561,10 @@ public class SpdFileContents {
     }\r
     \r
     private List<String> stringToList(String s){\r
-        if (s == null) {\r
+        if (s == null || s.length() == 0) {\r
             return null;\r
         }\r
-        ArrayList<String> al = new ArrayList<String>();\r
+        Vector<String> al = new Vector<String>();\r
         String[] sArray = s.split(" ");\r
         for(int i = 0; i < sArray.length; ++i){\r
             al.add(sArray[i]);\r
@@ -1521,7 +1572,7 @@ public class SpdFileContents {
         return al; \r
     }\r
     \r
-    private String listToString(List<String> l) {\r
+    private String listToString(List l) {\r
         if (l == null) {\r
             return null;\r
         }\r