token.skuDataArrayEnabled = pcdBuildData.getSkuDataArrayEnable();\r
token.assignedtokenNumber = Integer.decode(pcdBuildData.getToken().getStringValue());\r
skuDataArray = pcdBuildData.getSkuDataArray1();\r
- \r
+ token.datumType = Token.getdatumTypeFromString(pcdBuildData.getDatumType().toString());\r
+\r
if(skuDataArray != null) {\r
for(skuIndex = 0; skuIndex < skuDataArray.size(); skuIndex ++) {\r
//\r
private void updateTokenBySPD(UsageInstance usageInstance,\r
String packageFullPath) \r
throws EntityException {\r
- PackageSurfaceAreaDocument pkgDoc = null;\r
- List<PcdDefinitions.PcdEntry> pcdEntryArray = new ArrayList<PcdDefinitions.PcdEntry>();\r
- int index;\r
- boolean isFoundInSpd = false;\r
- Token.DATUM_TYPE datumType = Token.DATUM_TYPE.UNKNOWN;\r
+ PackageSurfaceAreaDocument pkgDoc = null;\r
+ PcdDefinitions pcdDefinitions = null;\r
+ List<PcdDefinitions.PcdEntry> pcdEntryArray = new ArrayList<PcdDefinitions.PcdEntry>();\r
+ int index = 0;\r
+ boolean isFoundInSpd = false;\r
+ Token.DATUM_TYPE datumType = Token.DATUM_TYPE.UNKNOWN;\r
\r
try {\r
pkgDoc =(PackageSurfaceAreaDocument)XmlObject.Factory.parse(new File(packageFullPath));\r
} catch(XmlException xmlE) {\r
throw new EntityException("Can't parse the FPD xml fle:" + packageFullPath);\r
}\r
+ pcdDefinitions = pkgDoc.getPackageSurfaceArea().getPcdDefinitions();\r
+ //\r
+ // It is illege for SPD file does not contains any PCD information.\r
+ //\r
+ if (pcdDefinitions == null) {\r
+ return;\r
+ }\r
\r
- pcdEntryArray = pkgDoc.getPackageSurfaceArea().getPcdDefinitions().getPcdEntryList();\r
+ pcdEntryArray = pcdDefinitions.getPcdEntryList();\r
+ if (pcdEntryArray == null) {\r
+ return;\r
+ }\r
for(index = 0; index < pcdEntryArray.size(); index ++) {\r
if(pcdEntryArray.get(index).getCName().equalsIgnoreCase(\r
usageInstance.parentToken.cName)) {\r
}\r
}\r
}\r
-\r
- if(!isFoundInSpd ) {\r
- ActionMessage.warning(this, \r
- "Can *not* find the PCD token " + usageInstance.parentToken.cName + \r
- " in SPD file!");\r
- }\r
}\r
\r
/**\r