\r
ArrayList<String> al = fpdMsa.get(mg + mv + pg + pv);\r
if (al == null) {\r
- al = new ArrayList<String>();\r
- fpdMsa.put(mg + mv + pg + pv, al);\r
+ //\r
+ // if existing ModuleSA does not specify version info.\r
+ //\r
+ al = fpdMsa.get(mg + "null" + pg + "null");\r
+ if (al == null) {\r
+ al = fpdMsa.get(mg + "null" + pg + pv);\r
+ if (al == null){\r
+ al = fpdMsa.get(mg + mv + pg + "null");\r
+ if (al == null) {\r
+ al = new ArrayList<String>();\r
+ fpdMsa.put(mg + mv + pg + pv, al); \r
+ }\r
+ }\r
+ }\r
}\r
+ //\r
+ // filter from module SupArchs what archs has been added.\r
+ //\r
for (int i = 0; i < al.size(); ++i) {\r
vArchs.remove(al.get(i));\r
}\r
//\r
+ // check whether archs conform to SupArch of platform.\r
+ //\r
+ Vector<Object> platformSupArch = new Vector<Object>();\r
+ ffc.getPlatformDefsSupportedArchs(platformSupArch);\r
+ vArchs.retainAll(platformSupArch);\r
+ //\r
// Archs this Module supported have already been added.\r
//\r
if (vArchs.size() == 0) {\r
if (arch == null) {\r
// if no arch specified in ModuleSA\r
fpdMsa.remove(mg + mv + pg + pv);\r
+ \r
} else {\r
ArrayList<String> al = fpdMsa.get(mg + mv + pg + pv);\r
al.remove(arch);\r
row[typeColForFpdModTable] = mi.getModuleType();\r
row[pkgNameColForFpdModTable] = mi.getPackage().getName();\r
row[pkgVerColForFpdModTable] = mi.getPackage().getVersion();\r
- row[archColForFpdModTable] = saa[i][4];\r
+ row[archColForFpdModTable] = saa[i][ffcModArch];\r
try {\r
row[pathColForFpdModTable] = GlobalData.getMsaFile(mi).getPath().substring(\r
System.getenv("WORKSPACE")\r
} catch (Exception e) {\r
JOptionPane.showMessageDialog(frame, "Show FPD Modules:" + e.getMessage());\r
}\r
+ \r
+ modelFpdModules.addRow(row);\r
+ String fpdMsaKey = saa[i][ffcModGuid] + row[modVerColForFpdModTable]\r
+ + saa[i][ffcPkgGuid] + row[pkgVerColForFpdModTable];\r
+ ArrayList<String> al = fpdMsa.get(fpdMsaKey);\r
+ if (al == null) {\r
+ al = new ArrayList<String>();\r
+ fpdMsa.put(fpdMsaKey, al);\r
+ }\r
+ al.add(saa[i][ffcModArch]);\r
}\r
- modelFpdModules.addRow(row);\r
- ArrayList<String> al = fpdMsa.get(saa[i][ffcModGuid] + saa[i][ffcModVer]\r
- + saa[i][ffcPkgGuid] + saa[i][ffcPkgVer]);\r
- if (al == null) {\r
- al = new ArrayList<String>();\r
- fpdMsa.put(saa[i][ffcModGuid] + saa[i][ffcModVer] + saa[i][ffcPkgGuid] + saa[i][ffcPkgVer], al);\r
- }\r
- al.add(saa[i][ffcModArch]);\r
+ \r
\r
}\r
TableSorter sorter = (TableSorter)jTableFpdModules.getModel();\r