public class FpdFrameworkModules extends IInternalFrame {\r
\r
/**\r
- * \r
+ * Initialize Globals\r
*/\r
private static final long serialVersionUID = 1L;\r
\r
private Map<String, ArrayList<String>> fpdMsa = null;\r
\r
private ArrayList<ModuleIdentification> miList = null;\r
+ \r
+ /**\r
+ * Column settings for displaying all modules in workspace\r
+ */\r
+ private final int modNameColForAllModTable = 0;\r
+ \r
+ private final int pkgNameColForAllModTable = 1;\r
+ \r
+ private final int pathColForAllModTable = 2;\r
+ \r
+ private final int typeColForAllModTable = 3;\r
+ \r
+ private final int pkgVerColForAllModTable = 5;\r
+ \r
+ private final int modVerColForAllModTable = 4;\r
+ \r
+ /**\r
+ * Column settings for display modules in the FPD file\r
+ */\r
+ private final int modNameColForFpdModTable = 0;\r
+ \r
+ private final int pkgNameColForFpdModTable = 1;\r
+ \r
+ private final int pathColForFpdModTable = 2;\r
+ \r
+ private final int archColForFpdModTable = 3;\r
+ \r
+ private final int pkgVerColForFpdModTable = 5;\r
\r
- private final int ModNameCol = 0;\r
-\r
- private final int ModVerCol = 1;\r
-\r
- private final int PkgNameCol = 2;\r
-\r
- private final int PkgVerCol = 3;\r
-\r
- private final int ArchCol = 4;\r
-\r
- private final int Path4Col = 4;\r
-\r
- private final int Path5Col = 5;\r
+ private final int modVerColForFpdModTable = 4;\r
+ \r
+ /**\r
+ * FpdFileContents structure\r
+ */\r
+ private final int ffcModGuid = 0;\r
+ \r
+ private final int ffcModVer = 1;\r
+ \r
+ private final int ffcPkgGuid = 2;\r
\r
- private final int ModNameMinWidth = 168;\r
+ private final int ffcPkgVer = 3;\r
\r
- private final int ModNamePrefWidth = 200;\r
+ private final int ffcModArch = 4;\r
+ \r
+ /**\r
+ * Set Column Widths, Only the PATH should not have a max width.\r
+ */\r
+ private final int modNameMinWidth = 168;\r
+ \r
+ private final int modNamePrefWidth = 200;\r
+ \r
+ private final int modNameMaxWidth = 350;\r
\r
- private final int PkgNameMinWidth = 100;\r
+ private final int pkgNameMinWidth = 100;\r
+ \r
+ private final int pkgNamePrefWidth = 130;\r
+ \r
+ private final int pkgNameMaxWidth = 150;\r
\r
- private final int PkgNamePrefWidth = 110;\r
+ private final int verMinWidth = 60;\r
\r
- private final int PkgNameMaxWidth = 150;\r
+ private final int verMaxWidth = 80;\r
\r
- private final int VerMinWidth = 50;\r
+ private final int verPrefWidth = 70;\r
\r
- private final int VerMaxWidth = 80;\r
+ private final int pathPrefWidth = 320;\r
\r
- private final int VerPrefWidth = 60;\r
+ private final int pathMinWidth = 280;\r
\r
- private final int PathPrefWidth = 320;\r
+ private final int archPrefWidth = 80;\r
\r
- private final int PathMinWidth = 280;\r
+ private final int archMinWidth = 60;\r
\r
- private final int ArchPrefWidth = 80;\r
+ private final int archMaxWidth = 100;\r
\r
- private final int ArchMinWidth = 60;\r
+ private final int typePrefWidth = 145;\r
\r
- private final int ArchMaxWidth = 100;\r
+ private final int typeMinWidth = 100;\r
+ \r
+ private final int typeMaxWidth = 155;\r
\r
/**\r
- * This method initializes jSplitPane \r
+ * This method initializes jSplitPane\r
+ * \r
+ * This is the main edit window\r
* \r
- * @return javax.swing.JSplitPane \r
+ * @return javax.swing.JSplitPane jSplitPane \r
*/\r
private JSplitPane getJSplitPane() {\r
if (jSplitPane == null) {\r
}\r
\r
/**\r
- * This method initializes jPanel \r
+ * This method initializes jPanelTop\r
+ * \r
+ * This panel contains the All Modules Table \r
* \r
- * @return javax.swing.JPanel \r
+ * @return javax.swing.JPanel jPanelTop\r
*/\r
private JPanel getJPanelTop() {\r
if (jPanelTop == null) {\r
}\r
\r
/**\r
- * This method initializes jPanel1 \r
+ * This method initializes jPanelBottom\r
* \r
- * @return javax.swing.JPanel \r
+ * This panel contains the FPD Modules Table\r
+ * \r
+ * @return javax.swing.JPanel jPanelBottom\r
*/\r
private JPanel getJPanelBottom() {\r
if (jPanelBottom == null) {\r
}\r
\r
/**\r
- * This method initializes jScrollPane \r
+ * This method initializes jScrollPaneAllModules \r
* \r
- * @return javax.swing.JScrollPane \r
+ * @return javax.swing.JScrollPane jScrollPaneAllModules\r
*/\r
private JScrollPane getJScrollPaneAllModules() {\r
if (jScrollPaneAllModules == null) {\r
}\r
\r
/**\r
- * This method initializes jTable \r
+ * This method initializes jTableAllModules\r
* \r
- * @return javax.swing.JTable \r
+ * @return javax.swing.JTable jTableAllModules\r
*/\r
private JTable getJTableAllModules() {\r
if (jTableAllModules == null) {\r
sorter.setTableHeader(jTableAllModules.getTableHeader());\r
jTableAllModules.setRowHeight(20);\r
modelAllModules.addColumn("<html>Module<br>Name</html>");\r
- modelAllModules.addColumn("<html>Module<br>Version</html>");\r
modelAllModules.addColumn("<html>Package<br>Name</html>");\r
- modelAllModules.addColumn("<html>Package<br>Version</html>");\r
modelAllModules.addColumn("Path");\r
+ modelAllModules.addColumn("<html>Module<br>Type</html>");\r
+ modelAllModules.addColumn("<html>Module<br>Version</html>");\r
+ modelAllModules.addColumn("<html>Package<br>Version</html>");\r
+ \r
javax.swing.table.TableColumn column = null;\r
- column = jTableAllModules.getColumnModel().getColumn(ModNameCol);\r
- column.setPreferredWidth(ModNamePrefWidth);\r
- column.setMinWidth(ModNameMinWidth);\r
- column = jTableAllModules.getColumnModel().getColumn(ModVerCol);\r
- column.setPreferredWidth(VerPrefWidth);\r
- column.setMaxWidth(VerMaxWidth);\r
- column.setMinWidth(VerMinWidth);\r
- column = jTableAllModules.getColumnModel().getColumn(PkgNameCol);\r
- column.setPreferredWidth(PkgNamePrefWidth);\r
- column.setMinWidth(PkgNameMinWidth);\r
- column.setMaxWidth(PkgNameMaxWidth);\r
- column = jTableAllModules.getColumnModel().getColumn(PkgVerCol);\r
- column.setPreferredWidth(VerPrefWidth);\r
- column.setMaxWidth(VerMaxWidth);\r
- column.setMinWidth(VerMinWidth);\r
- column = jTableAllModules.getColumnModel().getColumn(Path4Col);\r
- column.setPreferredWidth(PathPrefWidth);\r
- column.setMinWidth(PathMinWidth);\r
+ column = jTableAllModules.getColumnModel().getColumn(modNameColForAllModTable);\r
+ column.setPreferredWidth(modNamePrefWidth);\r
+ column.setMinWidth(modNameMinWidth);\r
+ column.setMaxWidth(modNameMaxWidth);\r
+ column = jTableAllModules.getColumnModel().getColumn(modVerColForAllModTable);\r
+ column.setPreferredWidth(verPrefWidth);\r
+ column.setMaxWidth(verMaxWidth);\r
+ column.setMinWidth(verMinWidth);\r
+ column = jTableAllModules.getColumnModel().getColumn(pkgNameColForAllModTable);\r
+ column.setPreferredWidth(pkgNamePrefWidth);\r
+ column.setMinWidth(pkgNameMinWidth);\r
+ column.setMaxWidth(pkgNameMaxWidth);\r
+ column = jTableAllModules.getColumnModel().getColumn(pkgVerColForAllModTable);\r
+ column.setPreferredWidth(verPrefWidth);\r
+ column.setMaxWidth(verMaxWidth);\r
+ column.setMinWidth(verMinWidth);\r
+ column = jTableAllModules.getColumnModel().getColumn(typeColForAllModTable);\r
+ column.setPreferredWidth(typePrefWidth);\r
+ column.setMaxWidth(typeMaxWidth);\r
+ column.setMinWidth(typeMinWidth);\r
+ column = jTableAllModules.getColumnModel().getColumn(pathColForAllModTable);\r
+ column.setPreferredWidth(pathPrefWidth);\r
+ column.setMinWidth(pathMinWidth);\r
\r
jTableAllModules.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+ // jTableAllModules.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
}\r
return jTableAllModules;\r
}\r
\r
/**\r
- * This method initializes jPanel2 \r
- * \r
- * @return javax.swing.JPanel \r
+ * This method initializes jPanelTopSouth\r
+ * \r
+ * This panel contains the ADD button\r
+ * \r
+ * @return javax.swing.JPanel jPanelTopSouth\r
*/\r
private JPanel getJPanelTopSouth() {\r
if (jPanelTopSouth == null) {\r
}\r
\r
/**\r
- * This method initializes jButton \r
+ * This method initializes jButtonAddModule \r
* \r
- * @return javax.swing.JButton \r
+ * @return javax.swing.JButton jButtonAddModule\r
*/\r
private JButton getJButtonAddModule() {\r
if (jButtonAddModule == null) {\r
\r
TableSorter sorter = (TableSorter) jTableAllModules.getModel();\r
selectedRow = sorter.modelIndex(selectedRow);\r
- String path = modelAllModules.getValueAt(selectedRow, Path4Col) + "";\r
+ String path = modelAllModules.getValueAt(selectedRow, pathColForAllModTable) + "";\r
ModuleIdentification mi = miList.get(selectedRow);\r
Vector<String> vArchs = null;\r
try {\r
String arch = vArchs.get(i);\r
al.add(arch);\r
archsAdded += arch + " ";\r
- String[] row = { "", mv, "", pv, arch, path };\r
+ String[] row = { "", "", "", "", "", "" };\r
\r
if (mi != null) {\r
- row[ModNameCol] = mi.getName();\r
- row[PkgNameCol] = mi.getPackage().getName();\r
+ row[modNameColForFpdModTable] = mi.getName();\r
+ row[pkgNameColForFpdModTable] = mi.getPackage().getName();\r
+ row[pathColForFpdModTable] = path;\r
+ row[archColForFpdModTable] = arch;\r
+ row[pkgVerColForFpdModTable] = pv;\r
+ row[modVerColForFpdModTable] = mv;\r
\r
}\r
modelFpdModules.addRow(row);\r
//ToDo : specify archs need to add.\r
ffc.addFrameworkModulesPcdBuildDefs(mi, arch, null);\r
} catch (Exception exception) {\r
- JOptionPane.showMessageDialog(frame, "Adding " + row[ModNameCol] + " with SupArch " + arch\r
+ JOptionPane.showMessageDialog(frame, "Adding " + row[modNameColForFpdModTable] + " with SupArch " + arch\r
+ ": " + exception.getMessage());\r
errorOccurred = true;\r
}\r
}\r
\r
/**\r
- * This method initializes jPanel3 \r
+ * This method initializes jPanelBottomSouth\r
+ * \r
+ * This panel contains the Settings and Remove Buttons\r
* \r
- * @return javax.swing.JPanel \r
+ * @return javax.swing.JPanel jPanelBottomSouth\r
*/\r
private JPanel getJPanelBottomSouth() {\r
if (jPanelBottomSouth == null) {\r
}\r
\r
/**\r
- * This method initializes jScrollPane1 \r
+ * This method initializes jScrollPaneFpdModules\r
* \r
- * @return javax.swing.JScrollPane \r
+ * @return javax.swing.JScrollPane jScrollPaneFpdModules\r
*/\r
private JScrollPane getJScrollPaneFpdModules() {\r
if (jScrollPaneFpdModules == null) {\r
}\r
\r
/**\r
- * This method initializes jTable1 \r
+ * This method initializes jTableFpdModules\r
* \r
- * @return javax.swing.JTable \r
+ * @return javax.swing.JTable jTableFpdModules\r
*/\r
private JTable getJTableFpdModules() {\r
if (jTableFpdModules == null) {\r
sorter.setTableHeader(jTableFpdModules.getTableHeader());\r
jTableFpdModules.setRowHeight(20);\r
modelFpdModules.addColumn("<html>Module<br>Name</html>");\r
- modelFpdModules.addColumn("<html>Module<br>Version</html>");\r
modelFpdModules.addColumn("<html>Package<br>Name</html>");\r
- modelFpdModules.addColumn("<html>Package<br>Version</html>");\r
- modelFpdModules.addColumn("<html>Supported<br>Architectures</html>");\r
modelFpdModules.addColumn("Path");\r
+ modelFpdModules.addColumn("<html>Supported<br>Architectures</html>");\r
+ modelFpdModules.addColumn("<html>Module<br>Version</html>");\r
+ modelFpdModules.addColumn("<html>Package<br>Version</html>");\r
+ \r
javax.swing.table.TableColumn column = null;\r
- column = jTableFpdModules.getColumnModel().getColumn(ModNameCol);\r
- column.setPreferredWidth(ModNamePrefWidth);\r
- column.setMinWidth(ModNameMinWidth);\r
- column = jTableFpdModules.getColumnModel().getColumn(ModVerCol);\r
- column.setPreferredWidth(VerPrefWidth);\r
- column.setMaxWidth(VerMaxWidth);\r
- column.setMinWidth(VerMinWidth);\r
- column = jTableFpdModules.getColumnModel().getColumn(PkgNameCol);\r
- column.setPreferredWidth(PkgNamePrefWidth);\r
- column.setMinWidth(PkgNameMinWidth);\r
- column.setMaxWidth(PkgNameMaxWidth);\r
- column = jTableFpdModules.getColumnModel().getColumn(PkgVerCol);\r
- column.setPreferredWidth(VerPrefWidth);\r
- column.setMaxWidth(VerMaxWidth);\r
- column.setMinWidth(VerMinWidth);\r
- column = jTableFpdModules.getColumnModel().getColumn(ArchCol);\r
- column.setPreferredWidth(ArchPrefWidth);\r
- column.setMaxWidth(ArchMaxWidth);\r
- column.setMinWidth(ArchMinWidth);\r
- column = jTableFpdModules.getColumnModel().getColumn(Path5Col);\r
- column.setPreferredWidth(PathPrefWidth);\r
- column.setMinWidth(PathMinWidth);\r
+ column = jTableFpdModules.getColumnModel().getColumn(modNameColForFpdModTable);\r
+ column.setPreferredWidth(modNamePrefWidth);\r
+ column.setMinWidth(modNameMinWidth);\r
+ column.setMaxWidth(modNameMaxWidth);\r
+ column = jTableFpdModules.getColumnModel().getColumn(modVerColForFpdModTable);\r
+ column.setPreferredWidth(verPrefWidth);\r
+ column.setMaxWidth(verMaxWidth);\r
+ column.setMinWidth(verMinWidth);\r
+ column = jTableFpdModules.getColumnModel().getColumn(pkgNameColForFpdModTable);\r
+ column.setPreferredWidth(pkgNamePrefWidth);\r
+ column.setMinWidth(pkgNameMinWidth);\r
+ column.setMaxWidth(pkgNameMaxWidth);\r
+ column = jTableFpdModules.getColumnModel().getColumn(pkgVerColForFpdModTable);\r
+ column.setPreferredWidth(verPrefWidth);\r
+ column.setMaxWidth(verMaxWidth);\r
+ column.setMinWidth(verMinWidth);\r
+ column = jTableFpdModules.getColumnModel().getColumn(archColForFpdModTable);\r
+ column.setPreferredWidth(archPrefWidth);\r
+ column.setMaxWidth(archMaxWidth);\r
+ column.setMinWidth(archMinWidth);\r
+ column = jTableFpdModules.getColumnModel().getColumn(pathColForFpdModTable);\r
+ column.setPreferredWidth(pathPrefWidth);\r
+ column.setMinWidth(pathMinWidth);\r
\r
jTableFpdModules.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+ // jTableFpdModules.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
}\r
return jTableFpdModules;\r
}\r
\r
/**\r
- * This method initializes jButton1 \r
+ * This method initializes jButtonSettings\r
* \r
- * @return javax.swing.JButton \r
+ * @return javax.swing.JButton jButtonSettings\r
*/\r
private JButton getJButtonSettings() {\r
if (jButtonSettings == null) {\r
\r
String[] sa = new String[5];\r
ffc.getFrameworkModuleInfo(selectedRow, sa);\r
- String mg = sa[ModNameCol];\r
- String mv = sa[ModVerCol];\r
- String pg = sa[PkgNameCol];\r
- String pv = sa[PkgVerCol];\r
- String arch = sa[ArchCol];\r
+ String mg = sa[ffcModGuid];\r
+ String mv = sa[ffcModVer];\r
+ String pg = sa[ffcPkgGuid];\r
+ String pv = sa[ffcPkgVer];\r
+ String arch = sa[ffcModArch];\r
settingDlg.setKey(mg + " " + mv + " " + pg + " " + pv + " " + arch, selectedRow, docConsole);\r
settingDlg.setVisible(true);\r
}\r
}\r
\r
/**\r
- * This method initializes jButton2 \r
+ * This method initializes jButtonRemoveModule\r
* \r
- * @return javax.swing.JButton \r
+ * @return javax.swing.JButton jButtonRemoveModule\r
*/\r
private JButton getJButtonRemoveModule() {\r
if (jButtonRemoveModule == null) {\r
\r
String[] sa = new String[5];\r
ffc.getFrameworkModuleInfo(selectedRow, sa);\r
- String mg = sa[ModNameCol];\r
- String mv = sa[ModVerCol];\r
- String pg = sa[PkgNameCol];\r
- String pv = sa[PkgVerCol];\r
- String arch = sa[ArchCol];\r
- ModuleIdentification mi = GlobalData.getModuleId(sa[ModNameCol] + " " + sa[ModVerCol] + " "\r
- + sa[PkgNameCol] + " " + sa[PkgVerCol] + " "\r
- + sa[ArchCol]);\r
+ String mg = sa[ffcModGuid];\r
+ String mv = sa[ffcModVer];\r
+ String pg = sa[ffcPkgGuid];\r
+ String pv = sa[ffcPkgVer];\r
+ String arch = sa[ffcModArch];\r
+ ModuleIdentification mi = GlobalData.getModuleId(mg + " " + mv + " " + pg + " " + pv + " " + arch);\r
mv = mi.getVersion();\r
pv = mi.getPackage().getVersion();\r
modelFpdModules.removeRow(selectedRow);\r
}\r
\r
/**\r
+ * \r
* @param args\r
*/\r
public static void main(String[] args) {\r
String[][] saa = new String[ffc.getFrameworkModulesCount()][5];\r
ffc.getFrameworkModulesInfo(saa);\r
for (int i = 0; i < saa.length; ++i) {\r
- ModuleIdentification mi = GlobalData.getModuleId(saa[i][ModNameCol] + " " + saa[i][ModVerCol] + " "\r
- + saa[i][PkgNameCol] + " " + saa[i][PkgVerCol]);\r
+ ModuleIdentification mi = GlobalData.getModuleId(saa[i][ffcModGuid] + " " + saa[i][ffcModVer] + " "\r
+ + saa[i][ffcPkgGuid] + " " + saa[i][ffcPkgVer]);\r
String[] row = { "", "", "", "", "", "" };\r
if (mi != null) {\r
- row[ModNameCol] = mi.getName();\r
- row[ModVerCol] = mi.getVersion();\r
- row[PkgNameCol] = mi.getPackage().getName();\r
- row[PkgVerCol] = mi.getPackage().getVersion();\r
- row[ArchCol] = saa[i][ArchCol];\r
+ row[modNameColForFpdModTable] = mi.getName();\r
+ row[modVerColForFpdModTable] = mi.getVersion();\r
+ row[pkgNameColForFpdModTable] = mi.getPackage().getName();\r
+ row[pkgVerColForFpdModTable] = mi.getPackage().getVersion();\r
+ row[archColForFpdModTable] = saa[i][4];\r
try {\r
- row[Path5Col] = GlobalData.getMsaFile(mi).getPath().substring(\r
+ row[pathColForFpdModTable] = GlobalData.getMsaFile(mi).getPath().substring(\r
System.getenv("WORKSPACE")\r
.length() + 1);\r
} catch (Exception e) {\r
}\r
}\r
modelFpdModules.addRow(row);\r
- ArrayList<String> al = fpdMsa.get(saa[i][ModNameCol] + row[ModVerCol] + saa[i][PkgNameCol]\r
- + row[PkgVerCol]);\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][ModNameCol] + row[ModVerCol] + saa[i][PkgNameCol] + row[PkgVerCol], al);\r
+ fpdMsa.put(saa[i][ffcModGuid] + saa[i][ffcModVer] + saa[i][ffcPkgGuid] + saa[i][ffcPkgVer], al);\r
}\r
- al.add(saa[i][Path4Col]);\r
+ al.add(saa[i][ffcModArch]);\r
\r
}\r
}\r
\r
while (ispi.hasNext()) {\r
PackageIdentification pi = (PackageIdentification) ispi.next();\r
- String[] s = { "", "", "", "", "" };\r
+ String[] s = { "", "", "", "", "", "" };\r
\r
Set<ModuleIdentification> smi = GlobalData.getModules(pi);\r
Iterator ismi = smi.iterator();\r
while (ismi.hasNext()) {\r
ModuleIdentification mi = (ModuleIdentification) ismi.next();\r
- s[ModNameCol] = mi.getName();\r
- s[ModVerCol] = mi.getVersion();\r
- s[PkgNameCol] = pi.getName();\r
- s[PkgVerCol] = pi.getVersion();\r
+ s[modNameColForAllModTable] = mi.getName();\r
+ s[modVerColForAllModTable] = mi.getVersion();\r
+ s[typeColForAllModTable] = mi.getModuleType();\r
+ s[pkgNameColForAllModTable] = pi.getName();\r
+ s[pkgVerColForAllModTable] = pi.getVersion();\r
try {\r
- s[Path4Col] = GlobalData.getMsaFile(mi).getPath()\r
+ s[pathColForAllModTable] = GlobalData.getMsaFile(mi).getPath()\r
.substring(System.getenv("WORKSPACE").length() + 1);\r
} catch (Exception e) {\r
JOptionPane.showMessageDialog(frame, "Show All Modules:" + e.getMessage());\r