return fpdBuildOpts;\r
}\r
\r
- public void genBuildOptionsUserExtensions(String fvName, String outputFileName, Vector<String[]> includeModules) {\r
+ public void genBuildOptionsUserExtensions(String fvName, String userId, String id, String outputFileName, Vector<String[]> includeModules) {\r
QName elementFvName = new QName (xmlNs, "FvName");\r
QName elementIncludeModules = new QName(xmlNs, "IncludeModules");\r
QName elementInfFileName = new QName(xmlNs, "InfFileName");\r
QName elementModule = new QName(xmlNs, "Module");\r
\r
UserExtensionsDocument.UserExtensions userExts = getfpdBuildOpts().addNewUserExtensions();\r
- userExts.setUserID("IMAGES");\r
- userExts.setIdentifier(new BigInteger("1"));\r
+ userExts.setUserID(userId);\r
+ userExts.setIdentifier(new BigInteger(id));\r
XmlCursor cursor = userExts.newCursor();\r
cursor.toEndToken();\r
\r
cursor.toNextToken();\r
\r
cursor.beginElement(elementInfFileName);\r
- cursor.insertChars(fvName + ".inf");\r
+ cursor.insertChars(outputFileName);\r
cursor.toNextToken();\r
\r
cursor.beginElement(elementIncludeModules);\r
cursor.dispose();\r
}\r
\r
- public int getUserExtsIncModCount (String fvName) {\r
+ public int getUserExtsIncModCount (String fvName, String userId, int id) {\r
if (getfpdBuildOpts().getUserExtensionsList() == null) {\r
return -1;\r
}\r
+\r
ListIterator<UserExtensionsDocument.UserExtensions> li = getfpdBuildOpts().getUserExtensionsList().listIterator();\r
QName elementIncludeModules = new QName(xmlNs, "IncludeModules");\r
while (li.hasNext()) {\r
UserExtensionsDocument.UserExtensions ues = li.next();\r
- if (!ues.getUserID().equals("IMAGES")) {\r
+ if (!ues.getUserID().equals(userId)) {\r
+ continue;\r
+ }\r
+ if (ues.getIdentifier() == null || ues.getIdentifier().intValue() != id) {\r
continue;\r
}\r
XmlCursor cursor = ues.newCursor();\r
return -1;\r
}\r
\r
- public void getUserExtsIncMods(String fvName, String[][] saa) {\r
+ public void getUserExtsIncMods(String fvName, String userId, int id, String[][] saa) {\r
if (getfpdBuildOpts().getUserExtensionsList() == null) {\r
return;\r
}\r
- \r
+\r
XmlCursor cursor = getfpdBuildOpts().newCursor();\r
QName elementUserExts = new QName (xmlNs, "UserExtensions");\r
QName attribUserId = new QName ("UserID");\r
+ QName attribId = new QName ("Identifier");\r
QName elementFvName = new QName (xmlNs, "FvName");\r
QName elementIncludeModules = new QName(xmlNs, "IncludeModules");\r
QName attribModuleGuid = new QName("ModuleGuid");\r
if (cursor.toChild(elementUserExts)) {\r
do {\r
cursor.push();\r
- if (cursor.getAttributeText(attribUserId).equals("IMAGES")) {\r
+ if (cursor.getAttributeText(attribUserId).equals(userId) && cursor.getAttributeText(attribId).equals(id+"")) {\r
cursor.toChild(elementFvName);\r
String elementName = cursor.getTextValue();\r
if (elementName.equals(fvName)) {\r
\r
}\r
\r
- public void removeBuildOptionsUserExtensions (String fvName) {\r
+ public void removeBuildOptionsUserExtensions (String fvName, String userId, int id) {\r
if (getfpdBuildOpts().getUserExtensionsList() == null) {\r
return;\r
}\r
- \r
+\r
ListIterator<UserExtensionsDocument.UserExtensions> li = getfpdBuildOpts().getUserExtensionsList().listIterator();\r
while (li.hasNext()) {\r
UserExtensionsDocument.UserExtensions ues = li.next();\r
- if (!ues.getUserID().equals("IMAGES")) {\r
+ if (!ues.getUserID().equals(userId)) {\r
+ continue;\r
+ }\r
+ if (ues.getIdentifier()== null || ues.getIdentifier().intValue() != id) {\r
continue;\r
}\r
XmlCursor cursor = ues.newCursor();\r
return false;\r
}\r
\r
- public boolean moduleInBuildOptionsUserExtensions (String fvName, String moduleGuid, String moduleVersion, String packageGuid, String packageVersion, String arch) {\r
+ public boolean moduleInBuildOptionsUserExtensions (String fvName, String userId, int id, String moduleGuid, String moduleVersion, String packageGuid, String packageVersion, String arch) {\r
boolean inList = false;\r
- if (getUserExtsIncModCount(fvName) > 0) {\r
- \r
+ if (getUserExtsIncModCount(fvName, userId, id) > 0) {\r
XmlCursor cursor = getfpdBuildOpts().newCursor();\r
QName elementUserExts = new QName (xmlNs, "UserExtensions");\r
QName attribUserId = new QName ("UserID");\r
+ QName attribId = new QName ("Identifier");\r
QName elementFvName = new QName (xmlNs, "FvName");\r
QName elementIncludeModules = new QName(xmlNs, "IncludeModules");\r
QName attribModuleGuid = new QName("ModuleGuid");\r
if (cursor.toChild(elementUserExts)) {\r
do {\r
cursor.push();\r
- if (cursor.getAttributeText(attribUserId).equals("IMAGES")) {\r
+ if (cursor.getAttributeText(attribUserId).equals(userId) && cursor.getAttributeText(attribId).equals(id+"")) {\r
cursor.toChild(elementFvName);\r
String elementName = cursor.getTextValue();\r
if (elementName.equals(fvName)) {\r
return inList;\r
}\r
\r
- public void removeModuleInBuildOptionsUserExtensions (String fvName, String moduleGuid, String moduleVersion, String packageGuid, String packageVersion, String arch) {\r
+ public void removeModuleInBuildOptionsUserExtensions (String fvName, String userId, int id, String moduleGuid, String moduleVersion, String packageGuid, String packageVersion, String arch) {\r
//\r
// if there is only one module before remove operation, the whole user extension should be removed.\r
//\r
- int moduleAmount = getUserExtsIncModCount(fvName);\r
+ int moduleAmount = getUserExtsIncModCount(fvName, userId, id);\r
if (moduleAmount == 1) {\r
- removeBuildOptionsUserExtensions(fvName);\r
+ removeBuildOptionsUserExtensions(fvName, userId, id);\r
return;\r
}\r
\r
if (moduleAmount > 1) {\r
- \r
XmlCursor cursor = getfpdBuildOpts().newCursor();\r
QName elementUserExts = new QName (xmlNs, "UserExtensions");\r
QName attribUserId = new QName ("UserID");\r
+ QName attribId = new QName ("Identifier");\r
QName elementFvName = new QName (xmlNs, "FvName");\r
QName elementIncludeModules = new QName(xmlNs, "IncludeModules");\r
QName attribModuleGuid = new QName("ModuleGuid");\r
if (cursor.toChild(elementUserExts)) {\r
do {\r
cursor.push();\r
- if (cursor.getAttributeText(attribUserId).equals("IMAGES")) {\r
+ if (cursor.getAttributeText(attribUserId).equals(userId) && cursor.getAttributeText(attribId).equals(id+"")) {\r
cursor.toChild(elementFvName);\r
String elementName = cursor.getTextValue();\r
if (elementName.equals(fvName)) {\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
+ public void addModuleIntoBuildOptionsUserExtensions (String fvName, String userId, int id, String moduleGuid, String moduleVersion, String packageGuid, String packageVersion, String arch) {\r
+ if (moduleInBuildOptionsUserExtensions (fvName, userId, id, moduleGuid, moduleVersion, packageGuid, packageVersion, arch)) {\r
return;\r
}\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
+ if (!ues.getUserID().equals(userId)) {\r
+ continue;\r
+ }\r
+ if (ues.getIdentifier() == null || ues.getIdentifier().intValue() != id) {\r
continue;\r
}\r
XmlCursor cursor = ues.newCursor();\r