Token.PCD_TYPE pcdType = Token.PCD_TYPE.UNKNOWN;\r
int tokenNumber = 0;\r
String hiiDefaultValue = null;\r
+ String[] variableGuidString = null;\r
\r
List<DynamicPcdBuildDefinitions.PcdBuildData.SkuInfo> skuInfoList = null;\r
DynamicPcdBuildDefinitions.PcdBuildData dynamicInfo = null;\r
"file, who use HII, but there is no <VariableGuid> defined for Sku %d data!",\r
token.cName,\r
index);\r
- \r
+ if (exceptionString != null) {\r
+ throw new EntityException(exceptionString);\r
+ } \r
}\r
\r
if (skuInfoList.get(index).getVariableOffset() == null) {\r
"file, who use HII, but there is no <VariableOffset> defined for Sku %d data!",\r
token.cName,\r
index);\r
+ if (exceptionString != null) {\r
+ throw new EntityException(exceptionString);\r
+ }\r
}\r
\r
if (skuInfoList.get(index).getHiiDefaultValue() == null) {\r
"file, who use HII, but there is no <HiiDefaultValue> defined for Sku %d data!",\r
token.cName,\r
index);\r
+ if (exceptionString != null) {\r
+ throw new EntityException(exceptionString);\r
+ }\r
}\r
\r
- if (exceptionString != null) {\r
- throw new EntityException(exceptionString);\r
- }\r
- \r
if (skuInfoList.get(index).getHiiDefaultValue() != null) {\r
hiiDefaultValue = skuInfoList.get(index).getHiiDefaultValue().toString();\r
} else {\r
index));\r
}\r
\r
+ //\r
+ // Get variable guid string according to the name of guid which will be mapped into a GUID in SPD file.\r
+ // \r
+ variableGuidString = GlobalData.getGuidInfoGuid(skuInfoList.get(index).getVariableGuid().toString());\r
+ if (variableGuidString == null) {\r
+ throw new EntityException(String.format("[GUID Error] For dynamic PCD %s, the variable guid %s can be found in all SPD file!",\r
+ token.cName, \r
+ skuInfoList.get(index).getVariableGuid().toString()));\r
+ }\r
+\r
skuInstance.value.setHiiData(skuInfoList.get(index).getVariableName(),\r
- translateSchemaStringToUUID(skuInfoList.get(index).getVariableGuid().toString()),\r
+ translateSchemaStringToUUID(variableGuidString[1]),\r
skuInfoList.get(index).getVariableOffset(),\r
skuInfoList.get(index).getHiiDefaultValue().toString());\r
token.skuData.add(skuInstance);\r
return new UUID(0, 0);\r
}\r
\r
+ uuidString = uuidString.replaceAll("\\{", "");\r
+ uuidString = uuidString.replaceAll("\\}", "");\r
+\r
//\r
// If the UUID schema string is GuidArrayType type then need translate \r
// to GuidNamingConvention type at first.\r
**/\r
public static void main(String argv[]) throws EntityException {\r
CollectPCDAction ca = new CollectPCDAction();\r
- ca.setWorkspacePath("m:/tianocore_latest/edk2");\r
- ca.setFPDFilePath("m:/tianocore_latest/edk2/EdkNt32Pkg/Nt32.fpd");\r
+ ca.setWorkspacePath("m:/tianocore/edk2");\r
+ ca.setFPDFilePath("m:/tianocore/edk2/EdkNt32Pkg/Nt32.fpd");\r
ca.setActionMessageLevel(ActionMessage.MAX_MESSAGE_LEVEL);\r
GlobalData.initInfo("Tools" + File.separator + "Conf" + File.separator + "FrameworkDatabase.db",\r
- "m:/tianocore_latest/edk2");\r
+ "m:/tianocore/edk2");\r
ca.execute();\r
}\r
}\r