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
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
cursor.toNextSibling();\r
}\r
cursor.removeXml();\r
+ if (getSpdPcdDefinitionCount() == 0) {\r
+ cursor.toParent();\r
+ cursor.removeXml();\r
+ }\r
} \r
cursor.dispose();\r
}\r
cursor.toNextSibling();\r
}\r
cursor.removeXml();\r
+ if (getSpdPpiDeclarationCount() == 0){\r
+ cursor.toParent();\r
+ cursor.removeXml();\r
+ }\r
} \r
cursor.dispose();\r
}\r
cursor.toNextSibling();\r
}\r
cursor.removeXml();\r
+ if (getSpdProtocolDeclarationCount() == 0) {\r
+ cursor.toParent();\r
+ cursor.removeXml();\r
+ }\r
}\r
cursor.dispose();\r
}\r
cursor.toNextSibling();\r
}\r
cursor.removeXml();\r
-\r
+ if (getSpdGuidDeclarationCount() == 0) {\r
+ cursor.toParent();\r
+ cursor.removeXml();\r
+ }\r
} \r
cursor.dispose();\r
}\r
cursor.toNextSibling();\r
}\r
cursor.removeXml();\r
+ if (getSpdPackageHeaderCount() == 0) {\r
+ cursor.toParent();\r
+ cursor.removeXml();\r
+ }\r
} \r
cursor.dispose();\r
}\r
cursor.toNextSibling();\r
}\r
cursor.removeXml();\r
+ if (getSpdMsaFileCount() == 0) {\r
+ cursor.toParent();\r
+ cursor.removeXml();\r
+ }\r
}\r
cursor.dispose();\r
}\r
cursor.toNextSibling();\r
}\r
cursor.removeXml();\r
+ if (getSpdLibClassDeclarationCount() == 0) {\r
+ cursor.toParent();\r
+ cursor.removeXml();\r
+ }\r
}\r
cursor.dispose();\r
}\r
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
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
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
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
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
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
}\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
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