}\r
\r
public int getFrameworkModulesCount() {\r
- if (getfpdFrameworkModules().getModuleSAList() == null){\r
+ if (getfpdFrameworkModules().getModuleSAList() == null || getfpdFrameworkModules().getModuleSAList().size() == 0){\r
removeElement(getfpdFrameworkModules());\r
fpdFrameworkModules = null;\r
return 0;\r
\r
public ModuleSADocument.ModuleSA getModuleSA(String key) {\r
String[] s = key.split(" ");\r
- if (getfpdFrameworkModules().getModuleSAList() == null) {\r
+ if (getfpdFrameworkModules().getModuleSAList() == null || getfpdFrameworkModules().getModuleSAList().size() == 0) {\r
removeElement(getfpdFrameworkModules());\r
fpdFrameworkModules = null;\r
return null;\r
ListIterator li = getfpdFrameworkModules().getModuleSAList().listIterator();\r
while(li.hasNext()) {\r
ModuleSADocument.ModuleSA msa = (ModuleSADocument.ModuleSA)li.next();\r
- if (msa.getModuleGuid().equals(s[0]) && msa.getPackageGuid().equals(s[2])) {\r
+ if (msa.getModuleGuid().equalsIgnoreCase(s[0]) && msa.getPackageGuid().equalsIgnoreCase(s[2])) {\r
if (msa.getModuleVersion() != null) {\r
if (!msa.getModuleVersion().equals(s[1])) {\r
continue;\r
//\r
// ToDo Error \r
//\r
- throw new PcdDeclNotFound(mi.getName() + " " + msaPcd.getCName());\r
+ throw new PcdDeclNotFound("No Declaration for PCD Entry " + msaPcd.getCName() + " in Module " + mi.getName());\r
}\r
//\r
// AddItem to ModuleSA PcdBuildDefinitions\r
\r
}\r
catch (Exception e){\r
- e.printStackTrace();\r
+ \r
throw e; \r
}\r
\r
//\r
// Special dynamic type, if this pcd already exists in other ModuleSA\r
//\r
+ /* Comment out Item type checking temporarily.\r
if (itemType.equals("DYNAMIC")) {\r
\r
ListIterator li = pcdConsumer.listIterator();\r
while(li.hasNext()) {\r
String value = li.next().toString();\r
String[] valuePart= value.split(" ");\r
- if (!valuePart[4].equals("DYNAMIC")) {\r
+ if (!valuePart[5].equals("DYNAMIC")) {\r
//ToDo error for same pcd, other type than dynamic\r
pcdConsumer.remove(listValue);\r
- throw new PcdItemTypeConflictException(value);\r
+ throw new PcdItemTypeConflictException(cName, value);\r
}\r
}\r
}\r
while(li.hasNext()) {\r
String value = li.next().toString();\r
String[] valuePart= value.split(" ");\r
- if (valuePart[4].equals("DYNAMIC")) {\r
+ if (valuePart[5].equals("DYNAMIC")) {\r
//ToDo error for same pcd, other type than non-dynamic\r
pcdConsumer.remove(listValue);\r
- throw new PcdItemTypeConflictException(value);\r
+ throw new PcdItemTypeConflictException(cName, value);\r
}\r
}\r
}\r
- \r
+ */\r
PcdBuildDefinitionDocument.PcdBuildDefinition.PcdData fpdPcd = moduleSa.getPcdBuildDefinition().addNewPcdData();\r
fpdPcd.setCName(cName);\r
fpdPcd.setToken(token);\r
\r
private ArrayList<String> LookupPlatformPcdData(String pcdKey) {\r
\r
- return dynPcdMap.get("pcdKey");\r
+ return dynPcdMap.get(pcdKey);\r
}\r
\r
public int getDynamicPcdBuildDataCount() {\r
- if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null) {\r
+ if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
removeElement(getfpdDynPcdBuildDefs());\r
fpdDynPcdBuildDefs = null;\r
return 0;\r
}\r
\r
public void getDynamicPcdBuildData(String[][] saa) {\r
- if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null) {\r
+ if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null || getfpdDynPcdBuildDefs().getPcdBuildDataList().size() == 0) {\r
removeElement(getfpdDynPcdBuildDefs());\r
fpdDynPcdBuildDefs = null;\r
return ;\r
\r
public void getPlatformDefsSkuInfos(String[][] saa){\r
if (getfpdPlatformDefs().getSkuInfo() == null || getfpdPlatformDefs().getSkuInfo().getUiSkuNameList() == null) {\r
+ if (getfpdDynPcdBuildDefs().getPcdBuildDataList() == null) {\r
+ removeElement(getfpdDynPcdBuildDefs());\r
+ fpdDynPcdBuildDefs = null;\r
+ }\r
return ;\r
}\r
\r
if (fpdHdr == null) {\r
fpdHdr = fpdRoot.addNewPlatformHeader();\r
}\r
- genPlatformDefsSkuInfo("0", "DEFAULT");\r
+ \r
return fpdHdr;\r
}\r
\r
private static final long serialVersionUID = 1L;\r
private String details = null;\r
\r
- PcdItemTypeConflictException(String info){\r
- details = info;\r
+ PcdItemTypeConflictException(String pcdName, String info){\r
+ ModuleIdentification mi = GlobalData.getModuleId(info);\r
+ details = pcdName + " ItemType Conflicts with " + mi.getName() + " in Pkg " + mi.getPackage().getName();\r
}\r
\r
public String getMessage() {\r
private String details = null;\r
\r
PcdDeclNotFound(String info) {\r
- details = info;\r
+ details = "PcdDeclNotFound: " + info;\r
}\r
\r
public String getMessage() {\r
private String details = null;\r
\r
PcdValueMalFormed(String info) {\r
- details = info;\r
+ details = "PcdValueMalFormed: " + info;\r
}\r
\r
public String getMessage() {\r