return msa.getModuleSaBuildOptions().getFvBinding();\r
}\r
\r
- public void setFvBinding(String moduleKey, String fvBinding){\r
- ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
- if (msa == null ) {\r
+ public void setFvBinding(ModuleSADocument.ModuleSA moduleSa, String fvBinding) {\r
+ if (moduleSa == null ) {\r
return;\r
}\r
if (fvBinding == null || fvBinding.length() == 0) {\r
- if(msa.getModuleSaBuildOptions() != null){\r
- msa.getModuleSaBuildOptions().unsetFvBinding();\r
+ if(moduleSa.getModuleSaBuildOptions() != null){\r
+ moduleSa.getModuleSaBuildOptions().unsetFvBinding();\r
}\r
}\r
else {\r
- if(msa.getModuleSaBuildOptions() == null){\r
- msa.addNewModuleSaBuildOptions().setFvBinding(fvBinding);\r
+ if(moduleSa.getModuleSaBuildOptions() == null){\r
+ moduleSa.addNewModuleSaBuildOptions().setFvBinding(fvBinding);\r
return;\r
}\r
- msa.getModuleSaBuildOptions().setFvBinding(fvBinding);\r
+ moduleSa.getModuleSaBuildOptions().setFvBinding(fvBinding);\r
+ }\r
+ }\r
+ \r
+ public void setFvBinding(String moduleKey, String fvBinding){\r
+ ModuleSADocument.ModuleSA moduleSa = getModuleSA(moduleKey);\r
+ setFvBinding (moduleSa, fvBinding);\r
+ }\r
+ \r
+ public void removeFvBinding (ModuleSADocument.ModuleSA moduleSa, String fvName) {\r
+ if (moduleSa == null || moduleSa.getModuleSaBuildOptions() == null || moduleSa.getModuleSaBuildOptions().getFvBinding() == null) {\r
+ return;\r
+ }\r
+ \r
+ String fvNameList = moduleSa.getModuleSaBuildOptions().getFvBinding();\r
+ String[] fvNamesArray = fvNameList.split(" ");\r
+ int occursAt = -1;\r
+ for (int i = 0; i < fvNamesArray.length; ++i) {\r
+ if (fvNamesArray[i].equals(fvName)) {\r
+ occursAt = i;\r
+ break;\r
+ }\r
+ }\r
+ // jump over where the input fvName occurs in the original Fv list.\r
+ if (occursAt != -1) {\r
+ String newFvNameList = " ";\r
+ for (int i = 0; i < fvNamesArray.length; ++i) {\r
+ if (i == occursAt) {\r
+ continue;\r
+ }\r
+ newFvNameList += fvNamesArray[i];\r
+ }\r
+ setFvBinding (moduleSa, newFvNameList.trim());\r
+ }\r
+\r
+ }\r
+ \r
+ /**\r
+ * @param fvName The FV name that to be removed from FvBinding List.\r
+ */\r
+ public void removeFvBindingAll (String fvName) {\r
+ if (getfpdFrameworkModules().getModuleSAList() == null || getfpdFrameworkModules().getModuleSAList().size() == 0){\r
+ removeElement(getfpdFrameworkModules());\r
+ fpdFrameworkModules = null;\r
+ return;\r
+ }\r
+ \r
+ Iterator<ModuleSADocument.ModuleSA> li = getfpdFrameworkModules().getModuleSAList().iterator();\r
+ while (li.hasNext()) {\r
+ ModuleSADocument.ModuleSA moduleSa = li.next();\r
+ removeFvBinding (moduleSa, fvName); \r
+ }\r
+ }\r
+ \r
+ public void appendFvBinding (String moduleKey, String fvName) {\r
+ ModuleSADocument.ModuleSA moduleSa = getModuleSA(moduleKey);\r
+ appendFvBinding (moduleSa, fvName);\r
+ }\r
+ \r
+ public void appendFvBinding (ModuleSADocument.ModuleSA moduleSa, String fvName) {\r
+ if (moduleSa == null) {\r
+ return;\r
+ }\r
+ \r
+ if (moduleSa.getModuleSaBuildOptions() == null || moduleSa.getModuleSaBuildOptions().getFvBinding() == null) {\r
+ setFvBinding(moduleSa, fvName);\r
+ return;\r
+ }\r
+ \r
+ String fvNameList = moduleSa.getModuleSaBuildOptions().getFvBinding();\r
+ String newFvNameList = fvNameList + " " + fvName;\r
+ setFvBinding (moduleSa, newFvNameList.trim());\r
+ }\r
+ \r
+ public void updateFvBindingInModuleSA (ModuleIdentification mi, String fvName) {\r
+ Vector<Object> vSupArchs = new Vector<Object>();\r
+ getPlatformDefsSupportedArchs(vSupArchs);\r
+ String moduleInfo = mi.getGuid() + " " + mi.getVersion() + " " + mi.getPackageId().getGuid() + " " + mi.getPackageId().getVersion();\r
+ for (int i = 0; i < vSupArchs.size(); ++i) {\r
+ String moduleKey = moduleInfo + " " + vSupArchs.get(i);\r
+ appendFvBinding (moduleKey, fvName);\r
}\r
}\r
\r
public String getFfsFileNameGuid(String moduleKey){\r
- ModuleSADocument.ModuleSA msa = getModuleSA(moduleKey);\r
- if (msa == null || msa.getModuleSaBuildOptions() == null) {\r
+ ModuleSADocument.ModuleSA moduleSa = getModuleSA(moduleKey);\r
+ if (moduleSa == null || moduleSa.getModuleSaBuildOptions() == null) {\r
return null;\r
}\r
- return msa.getModuleSaBuildOptions().getFfsFileNameGuid();\r
+ return moduleSa.getModuleSaBuildOptions().getFfsFileNameGuid();\r
}\r
\r
public void setFfsFileNameGuid(String moduleKey, String fileGuid){\r
return fpdBuildOpts;\r
}\r
\r
- public void genBuildOptionsUserExtensions(String fvName, String outputFileName, String[][] includeModules) {\r
+ public void genBuildOptionsUserExtensions(String fvName, String outputFileName, Vector<String[]> includeModules) {\r
UserExtensionsDocument.UserExtensions userExts = getfpdBuildOpts().addNewUserExtensions();\r
userExts.setUserID("IMAGES");\r
userExts.setIdentifier(new BigInteger("1"));\r
cursor.toNextToken();\r
\r
cursor.beginElement("IncludeModules");\r
- for (int i = 0; i < includeModules.length; ++i) {\r
+ for (int i = 0; i < includeModules.size(); ++i) {\r
cursor.beginElement("Module");\r
- cursor.insertAttributeWithValue("ModuleGuid", includeModules[i][0]);\r
- cursor.insertAttributeWithValue("BaseName", includeModules[i][1]);\r
+ cursor.insertAttributeWithValue("ModuleGuid", includeModules.get(i)[0]);\r
+ cursor.insertAttributeWithValue("BaseName", includeModules.get(i)[1]);\r
cursor.toEndToken();\r
cursor.toNextToken();\r
}\r