//\r
// change item type while not updating dynPcdData????\r
//\r
- pcdData.setItemType(PcdItemTypes.Enum.forString(itemType));\r
- if(pcdData.getDatumType().equals("VOID*")) {\r
+ if (itemType != null) {\r
+ pcdData.setItemType(PcdItemTypes.Enum.forString(itemType));\r
+ }\r
+ \r
+ if(pcdData.getDatumType().equals("VOID*") && maxSize != null) {\r
pcdData.setMaxDatumSize(new Integer(maxSize));\r
}\r
- pcdData.setValue(value);\r
- defaultPcdValue.put(cName + " " + tsGuid, value);\r
+ //\r
+ // if value input is null, keep old value untouched.\r
+ //\r
+ if (value != null) {\r
+ pcdData.setValue(value);\r
+ defaultPcdValue.put(cName + " " + tsGuid, value);\r
+ }\r
+ \r
break;\r
}\r
}\r
}\r
}\r
\r
+ public void addModuleIntoBuildOptionsUserExtensions (String fvName, String moduleGuid, String moduleVersion, String packageGuid, String packageVersion, String arch) {\r
+ if (moduleInBuildOptionsUserExtensions (fvName, moduleGuid, moduleVersion, packageGuid, packageVersion, arch)) {\r
+ return;\r
+ }\r
+ ListIterator<UserExtensionsDocument.UserExtensions> li = getfpdBuildOpts().getUserExtensionsList().listIterator();\r
+ QName elementIncludeModules = new QName(xmlNs, "IncludeModules");\r
+ QName elementModule = new QName(xmlNs, "Module");\r
+ while (li.hasNext()) {\r
+ UserExtensionsDocument.UserExtensions ues = li.next();\r
+ if (!ues.getUserID().equals("IMAGES")) {\r
+ continue;\r
+ }\r
+ XmlCursor cursor = ues.newCursor();\r
+ cursor.toFirstChild();\r
+ String elementName = cursor.getTextValue();\r
+ if (elementName.equals(fvName)) {\r
+ cursor.toNextSibling(elementIncludeModules);\r
+ cursor.toLastChild();\r
+ cursor.toEndToken();\r
+ cursor.toNextToken();\r
+ cursor.beginElement(elementModule);\r
+ cursor.insertAttributeWithValue("ModuleGuid", moduleGuid);\r
+ if (!moduleVersion.equals("null") && moduleVersion.length() != 0) {\r
+ cursor.insertAttributeWithValue("ModuleVersion", moduleVersion);\r
+ }\r
+ cursor.insertAttributeWithValue("PackageGuid", packageGuid);\r
+ if (!packageVersion.equals("null") && packageVersion.length() != 0) {\r
+ cursor.insertAttributeWithValue("PackageVersion", packageVersion);\r
+ }\r
+ \r
+ cursor.insertAttributeWithValue("Arch", arch);\r
+ cursor.dispose();\r
+ return;\r
+ }\r
+ cursor.dispose();\r
+ }\r
+ \r
+ }\r
+ \r
public void genBuildOptionsUserDefAntTask (String id, String fileName, String execOrder) {\r
UserDefinedAntTasksDocument.UserDefinedAntTasks udats = getfpdBuildOpts().getUserDefinedAntTasks();\r
if (udats == null) {\r