dynPcdMap = new HashMap<String, ArrayList<String>>();\r
List<ModuleSADocument.ModuleSA> l = getfpdFrameworkModules().getModuleSAList();\r
if (l == null) {\r
+ removeElement(getfpdFrameworkModules());\r
+ fpdFrameworkModules = null;\r
return;\r
}\r
ListIterator<ModuleSADocument.ModuleSA> li = l.listIterator();\r
\r
public int getFrameworkModulesCount() {\r
if (getfpdFrameworkModules().getModuleSAList() == null){\r
+ removeElement(getfpdFrameworkModules());\r
+ fpdFrameworkModules = null;\r
return 0;\r
}\r
return getfpdFrameworkModules().getModuleSAList().size();\r
public ModuleSADocument.ModuleSA getModuleSA(String key) {\r
String[] s = key.split(" ");\r
if (getfpdFrameworkModules().getModuleSAList() == null) {\r
+ removeElement(getfpdFrameworkModules());\r
+ fpdFrameworkModules = null;\r
return null;\r
}\r
ListIterator li = getfpdFrameworkModules().getModuleSAList().listIterator();\r
\r
private ModuleSADocument.ModuleSA getModuleSA(int i) {\r
ModuleSADocument.ModuleSA msa = null;\r
- XmlCursor cursor = getfpdFrameworkModules().newCursor();\r
+ if (fpdRoot.getFrameworkModules() == null) {\r
+ return null;\r
+ }\r
+ XmlCursor cursor = fpdRoot.getFrameworkModules().newCursor();\r
if (cursor.toFirstChild()) {\r
for (int j = 0; j < i; ++j) {\r
cursor.toNextSibling();\r
}\r
\r
public void removeModuleSA(int i) {\r
- XmlObject o = getfpdFrameworkModules();\r
+ XmlObject o = fpdRoot.getFrameworkModules();\r
if (o == null) {\r
return;\r
}\r
\r
}\r
catch (Exception e){\r
-// e.printStackTrace();\r
+ e.printStackTrace();\r
throw e;\r
}\r
\r
\r
public void getModuleSAOptions(String moduleKey, String[][] saa) {\r
ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
- if (msa.getModuleSaBuildOptions() == null || msa.getModuleSaBuildOptions().getOptions() == null\r
+ if (msa == null || msa.getModuleSaBuildOptions() == null || msa.getModuleSaBuildOptions().getOptions() == null\r
|| msa.getModuleSaBuildOptions().getOptions().getOptionList() == null) {\r
return ;\r
}\r
\r
public int getModuleSAOptionsCount(String moduleKey){\r
ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
- if (msa.getModuleSaBuildOptions() == null || msa.getModuleSaBuildOptions().getOptions() == null\r
+ if (msa == null || msa.getModuleSaBuildOptions() == null || msa.getModuleSaBuildOptions().getOptions() == null\r
|| msa.getModuleSaBuildOptions().getOptions().getOptionList() == null) {\r
return 0;\r
}\r
\r
}\r
catch (Exception e){\r
-// e.printStackTrace();\r
+ e.printStackTrace();\r
throw e; \r
}\r
\r
\r
public int getDynamicPcdBuildDataCount() {\r
if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null) {\r
+ removeElement(getfpdDynPcdBuildDefs());\r
+ fpdDynPcdBuildDefs = null;\r
return 0;\r
}\r
return getfpdDynPcdBuildDefs().getPcdBuildDataList().size();\r
\r
public void getDynamicPcdBuildData(String[][] saa) {\r
if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null) {\r
+ removeElement(getfpdDynPcdBuildDefs());\r
+ fpdDynPcdBuildDefs = null;\r
return ;\r
}\r
List<DynamicPcdBuildDefinitionsDocument.DynamicPcdBuildDefinitions.PcdBuildData> l = getfpdDynPcdBuildDefs().getPcdBuildDataList();\r
}\r
\r
public void removeDynamicPcdBuildData(String cName, String tsGuid) {\r
- XmlObject o = getfpdDynPcdBuildDefs();\r
+ XmlObject o = fpdRoot.getDynamicPcdBuildDefinitions();\r
+ if (o == null) {\r
+ return;\r
+ }\r
\r
XmlCursor cursor = o.newCursor();\r
if (cursor.toFirstChild()) {\r
// Get the Sku Info count of ith dyn pcd element.\r
//\r
public int getDynamicPcdSkuInfoCount(int i){\r
- if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
+ if (fpdRoot.getDynamicPcdBuildDefinitions() == null || fpdRoot.getDynamicPcdBuildDefinitions().getPcdBuildDataList() == null \r
+ || fpdRoot.getDynamicPcdBuildDefinitions().getPcdBuildDataList().size() == 0) {\r
return 0;\r
}\r
\r
\r
public void getDynamicPcdSkuInfos(int i, String[][] saa){\r
if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
+ removeElement(getfpdDynPcdBuildDefs());\r
+ fpdDynPcdBuildDefs = null;\r
return;\r
}\r
\r
public String getDynamicPcdBuildDataValue(int i){\r
String value = null;\r
if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
+ removeElement(getfpdDynPcdBuildDefs());\r
+ fpdDynPcdBuildDefs = null;\r
return value;\r
}\r
\r
public String getDynamicPcdBuildDataVpdOffset(int i){\r
String vpdOffset = null;\r
if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
+ removeElement(getfpdDynPcdBuildDefs());\r
+ fpdDynPcdBuildDefs = null;\r
return vpdOffset;\r
}\r
\r
\r
public void removeDynamicPcdBuildDataSkuInfo(int i) {\r
if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
+ removeElement(getfpdDynPcdBuildDefs());\r
+ fpdDynPcdBuildDefs = null;\r
return;\r
}\r
\r
//\r
public void genDynamicPcdBuildDataSkuInfo(String id, String varName, String varGuid, String varOffset, \r
String hiiDefault, String vpdOffset, String value, int i) {\r
- if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
- return;\r
- }\r
+// if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
+// return;\r
+// }\r
\r
XmlCursor cursor = getfpdDynPcdBuildDefs().newCursor();\r
if (cursor.toFirstChild()) {\r
\r
public void updateDynamicPcdBuildDataSkuInfo(String id, String varName, String varGuid, String varOffset, \r
String hiiDefault, String vpdOffset, String value, int i){\r
- if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
- return;\r
- }\r
+// if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
+// return;\r
+// }\r
\r
XmlCursor cursor = getfpdDynPcdBuildDefs().newCursor();\r
if (cursor.toFirstChild()) {\r
}\r
return s.trim();\r
}\r
+ \r
+ private void removeElement(XmlObject o) {\r
+ XmlCursor cursor = o.newCursor();\r
+ cursor.removeXml();\r
+ cursor.dispose();\r
+ }\r
}\r
\r
class PcdItemTypeConflictException extends Exception {\r