]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Flash Setting Refinement
authorjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Sun, 2 Jul 2006 03:17:57 +0000 (03:17 +0000)
committerjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Sun, 2 Jul 2006 03:17:57 +0000 (03:17 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@711 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFlash.java

index c9f4ccc98e8750258cf924d0ac5858ace96fb2c6..d97f2a7cba0d101f4dca1c78367ee0fa0732434a 100644 (file)
@@ -1307,12 +1307,7 @@ public class FpdFileContents {
             \r
             FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue nv = fio.addNewNameValue();\r
             String k = (String)i.next();\r
-            if (k.equals("EFI_ALIGNMENT_CAP")) {\r
-                nv.setName(k);\r
-                nv.setValue("TRUE");\r
-                setFvImageOptionsAlign((String)options.get(k), fio);\r
-                continue;\r
-            }\r
+            \r
             nv.setName(k);\r
             nv.setValue((String)options.get(k));\r
             \r
@@ -1320,194 +1315,6 @@ public class FpdFileContents {
         \r
     }\r
     \r
-    private void setFvImageOptionsAlign(String alignValue, FvImagesDocument.FvImages.FvImage.FvImageOptions fio) {\r
-        int numForm = -1;\r
-        if (alignValue.endsWith("K")) {\r
-            alignValue = alignValue.substring(0, alignValue.length()-1);\r
-            numForm = new Integer(alignValue).intValue() * 1024;\r
-        }\r
-        else {\r
-            numForm = new Integer(alignValue).intValue();\r
-        }\r
-        \r
-        FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue nv = null;\r
-        if (numForm / (64*1024) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_64K");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_64K");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (32*1024) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_32K");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_32K");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (16*1024) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_16K");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_16K");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (8*1024) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_8K");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_8K");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (4*1024) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_4K");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_4K");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (2*1024) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_2K");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_2K");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (1*1024) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_1K");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_1K");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (512) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_512");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_512");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (256) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_256");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_256");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (128) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_128");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_128");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (64) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_64");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_64");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (32) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_32");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_32");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (16) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_16");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_16");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (8) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_8");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_8");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (4) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_4");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_4");\r
-            nv.setValue("FALSE");\r
-        }\r
-        \r
-        if (numForm / (2) >= 1) {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_2");\r
-            nv.setValue("TRUE");\r
-        }\r
-        else {\r
-            nv = fio.addNewNameValue();\r
-            nv.setName("EFI_ALIGNMENT_2");\r
-            nv.setValue("FALSE");\r
-        }\r
-            \r
-    }\r
     \r
     public void removeFvImagesFvImage(int i) {\r
       \r
@@ -1575,7 +1382,10 @@ public class FpdFileContents {
         return getfpdFlash().getFvImages().getFvImageList().size();\r
     }\r
     \r
-    public void getFvImagesFvImages(String[][] saa, ArrayList<LinkedHashMap<String, String>> options) {\r
+    /**Only Get Fv image setting - name and type.\r
+     * @param saa\r
+     */\r
+    public void getFvImagesFvImages(String[][] saa) {\r
     \r
         if (getfpdFlash().getFvImages() == null) {\r
             return;\r
@@ -1602,27 +1412,33 @@ public class FpdFileContents {
             \r
             saa[i][1] = fi.getType()+"";\r
             \r
-            //\r
-            // get FvImageOptions into Map[i]\r
-            //\r
-            FvImagesDocument.FvImages.FvImage.FvImageOptions fo = fi.getFvImageOptions();\r
-            if (fo == null) {\r
-                ++i;\r
-                continue;\r
+            ++i;\r
+        }\r
+    }\r
+    \r
+    /**Get FvImage Options for FvImage i\r
+     * @param i the ith FvImage\r
+     */\r
+    public void getFvImagesFvImageOptions(int i, Map<String, String> m) {\r
+        XmlObject o = getfpdFlash().getFvImages();\r
+        if (o == null) {\r
+            return;\r
+        }\r
+        XmlCursor cursor = o.newCursor();\r
+        QName qFvImage = new QName(xmlNs, "FvImage");\r
+        if (cursor.toChild(qFvImage)) {\r
+            for (int j = 0; j < i; ++j) {\r
+                cursor.toNextSibling(qFvImage);\r
             }\r
-            List<FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue> lnv = fo.getNameValueList();\r
-            if (lnv == null || lnv.isEmpty()) {\r
-                ++i;\r
-                continue;\r
+            FvImagesDocument.FvImages.FvImage fi = (FvImagesDocument.FvImages.FvImage)cursor.getObject();\r
+            if (fi.getFvImageOptions() == null || fi.getFvImageOptions().getNameValueList() == null){\r
+                return;\r
             }\r
-            ListIterator lnvi = lnv.listIterator();\r
-            while (lnvi.hasNext()) {\r
-                FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue nv = (FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue)lnvi.next();\r
-                Map<String, String> m = options.get(i);\r
+            ListIterator<FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue> li = fi.getFvImageOptions().getNameValueList().listIterator();\r
+            while(li.hasNext()){\r
+                FvImagesDocument.FvImages.FvImage.FvImageOptions.NameValue nv = li.next();\r
                 m.put(nv.getName(), nv.getValue());\r
             }\r
-            \r
-            ++i;\r
         }\r
     }\r
     \r
index 4e143108d5959c5c89a08849603610dafe83a2c4..087a7f68a0ac32e8e17362cefbafb96b93561822 100644 (file)
@@ -23,6 +23,7 @@ import javax.swing.JTabbedPane;
 import javax.swing.JButton;\r
 import javax.swing.ListSelectionModel;\r
 \r
+import org.tianocore.FvImagesDocument;\r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
@@ -90,6 +91,7 @@ public class FpdFlash extends IInternalFrame {
     private DefaultTableModel fvPropertyTableModel = null;\r
     private DefaultTableModel fvImageNameTableModel = null;\r
     private ImageParaTableModel fvImageParaTableModel = null;\r
+    private DefaultTableModel fvOptionTableModel = null;\r
     private JPanel jPanelFvImageC = null;\r
     private JCheckBox jCheckBox2 = null;\r
     private JLabel jLabel2 = null;\r
@@ -107,18 +109,6 @@ public class FpdFlash extends IInternalFrame {
     private JTable jTable2 = null;\r
     private JButton jButton6 = null;\r
     private JCheckBox jCheckBox3 = null;\r
-    private JLabel jLabel5 = null;\r
-    private JComboBox jComboBox1 = null;\r
-    private JCheckBox jCheckBox4 = null;\r
-    private JCheckBox jCheckBox5 = null;\r
-    private JCheckBox jCheckBox6 = null;\r
-    private JCheckBox jCheckBox7 = null;\r
-    private JCheckBox jCheckBox8 = null;\r
-    private JCheckBox jCheckBox9 = null;\r
-    private JCheckBox jCheckBox10 = null;\r
-    private JCheckBox jCheckBox11 = null;\r
-    private JCheckBox jCheckBox12 = null;\r
-    private JCheckBox jCheckBox13 = null;\r
     private JPanel jPanel6 = null;\r
     \r
     private FpdFileContents ffc = null;\r
@@ -126,8 +116,16 @@ public class FpdFlash extends IInternalFrame {
     private JCheckBox jCheckBox = null;\r
     private JTextField jTextField3 = null;\r
     private JButton jButton5 = null;\r
+    private JLabel jLabel5 = null;\r
+    private JTextField jTextField4 = null;\r
     private JLabel jLabel6 = null;\r
-    private JComboBox jComboBox2 = null;\r
+    private JTextField jTextField5 = null;\r
+    private JPanel jPanel8 = null;\r
+    private JButton jButton7 = null;\r
+    private JButton jButton8 = null;\r
+    private JScrollPane jScrollPane = null;\r
+    private JTable jTable3 = null;\r
+    private JButton jButton9 = null;\r
     public FpdFlash() {\r
         super();\r
         // TODO Auto-generated constructor stub\r
@@ -721,37 +719,29 @@ public class FpdFlash extends IInternalFrame {
  if (jPanel5 == null) {\r
      //ToDo add ButtonGroup for RadioButtons\r
             jLabel6 = new JLabel();\r
-            jLabel6.setText("EFI Alignment CAP");\r
             jLabel6.setEnabled(false);\r
+            jLabel6.setText("Value");\r
+            jLabel6.setPreferredSize(new Dimension(38, 20));\r
+            jLabel5 = new JLabel();\r
+            jLabel5.setEnabled(false);\r
+            jLabel5.setText("Name");\r
+            jLabel5.setPreferredSize(new Dimension(38, 20));\r
             jPanel5 = new JPanel();\r
             jPanel5.setPreferredSize(new java.awt.Dimension(480,150));\r
             \r
-            GridLayout gridLayout = new GridLayout();\r
-            gridLayout.setRows(6);\r
-            gridLayout.setColumns(3);\r
-            jPanel5.setLayout(gridLayout);\r
-            jPanel5.add(getJCheckBox3(), null);\r
+            jPanel5.setLayout(new FlowLayout());\r
             \r
-            jLabel5 = new JLabel();\r
-            jLabel5.setText("EFI_ERASE_POLARITY");\r
-            jLabel5.setEnabled(false);\r
-                       jPanel5.add(jLabel5, null);\r
-                       jPanel5.add(getJComboBox1(), null);\r
-                       jPanel5.add(getJCheckBox4(), null);\r
-                       jPanel5.add(getJCheckBox5(), null);\r
-                       jPanel5.add(getJCheckBox6(), null);\r
-                       jPanel5.add(getJCheckBox7(), null);\r
-                       jPanel5.add(getJCheckBox8(), null);\r
-                       jPanel5.add(getJCheckBox9(), null);\r
-                       jPanel5.add(getJCheckBox10(), null);\r
-                       jPanel5.add(getJCheckBox11(), null);\r
-                       jPanel5.add(getJCheckBox12(), null);\r
-                       jPanel5.add(getJCheckBox13(), null);\r
                        jPanel5.setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.LOWERED));\r
+                       jPanel5.add(getJCheckBox3(), null);\r
+                       jPanel5.add(jLabel5, null);\r
+                       jPanel5.add(getJTextField4(), null);\r
                        jPanel5.add(jLabel6, null);\r
-                       jPanel5.add(getJComboBox2(), null);\r
+                       jPanel5.add(getJTextField5(), null);\r
+                       jPanel5.add(getJScrollPane(), null);\r
+                       jPanel5.add(getJPanel8(), null);\r
                        jPanel5.add(getJButton4(), null);\r
                        jPanel5.add(getJButton6(), null);\r
+                       jPanel5.add(getJButton9(), null);\r
             \r
             \r
                                \r
@@ -770,7 +760,7 @@ public class FpdFlash extends IInternalFrame {
     private JButton getJButton4() {\r
         if (jButton4 == null) {\r
             jButton4 = new JButton();\r
-            jButton4.setPreferredSize(new java.awt.Dimension(80,20));\r
+            jButton4.setPreferredSize(new java.awt.Dimension(120,20));\r
 //            jButton4.setEnabled(false);\r
             jButton4.setText("Add FV Image");\r
             jButton4.addActionListener(new AbstractAction() {\r
@@ -780,6 +770,12 @@ public class FpdFlash extends IInternalFrame {
                 private static final long serialVersionUID = 1L;\r
 \r
                 public void actionPerformed(java.awt.event.ActionEvent e) {\r
+                    if (jTable2.isEditing()) {\r
+                        jTable2.getCellEditor().stopCellEditing();\r
+                    }\r
+                    if (jTable3.isEditing()) {\r
+                        jTable3.getCellEditor().stopCellEditing();\r
+                    }\r
                     if (jTable1.getRowCount()== 0){\r
                         return;\r
                     }\r
@@ -798,22 +794,12 @@ public class FpdFlash extends IInternalFrame {
                     LinkedHashMap<String, String> m = null;\r
                     if (jCheckBox3.isSelected()) {\r
                         m = new LinkedHashMap<String, String>();\r
-                        boolean[] boolArray = {jComboBox1.getSelectedIndex()==0 ? true: false, jCheckBox6.isSelected(), jCheckBox9.isSelected(),\r
-                                                                            jCheckBox11.isSelected(), jCheckBox12.isSelected(),\r
-                                                                            jCheckBox13.isSelected(),jCheckBox4.isSelected(),\r
-                                                                            jCheckBox5.isSelected(), jCheckBox7.isSelected(),\r
-                                                                            jCheckBox8.isSelected(),jCheckBox10.isSelected()};\r
-                        booleanToNameValue(boolArray, m);\r
+                        getOptionNameValue(m);\r
                     }\r
                     ffc.genFvImagesFvImage(imageName.split(" "), jComboBox.getSelectedItem()+"", m);\r
                     \r
-                    Object[] o = {imageName, jComboBox.getSelectedItem(), jComboBox1.getSelectedIndex()==0 ? true: false, \r
-                                  jCheckBox6.isSelected(), jCheckBox9.isSelected(),\r
-                                  jCheckBox11.isSelected(), jCheckBox12.isSelected(),\r
-                                  jCheckBox13.isSelected(),jCheckBox4.isSelected(),\r
-                                  jCheckBox5.isSelected(), jCheckBox7.isSelected(),\r
-                                  jCheckBox8.isSelected(),jCheckBox10.isSelected()};\r
-                   fvImageParaTableModel.addRow(o); \r
+                    Object[] row = {imageName, jComboBox.getSelectedItem()};\r
+                    fvImageParaTableModel.addRow(row); \r
                 }\r
             });\r
         }\r
@@ -845,21 +831,9 @@ public class FpdFlash extends IInternalFrame {
         if (jTable2 == null) {\r
             fvImageParaTableModel = new ImageParaTableModel();\r
             jTable2 = new JTable(fvImageParaTableModel);\r
-            jTable2.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF);\r
             fvImageParaTableModel.addColumn("FvImageNames");\r
             fvImageParaTableModel.addColumn("Type");\r
-            fvImageParaTableModel.addColumn("ErasePolarity");\r
-            fvImageParaTableModel.addColumn("ReadStatus");\r
-            fvImageParaTableModel.addColumn("WriteStatus");\r
-            fvImageParaTableModel.addColumn("LockStatus");\r
-            fvImageParaTableModel.addColumn("MemoryMapped");\r
-            fvImageParaTableModel.addColumn("StickyWrite");\r
-            fvImageParaTableModel.addColumn("ReadDisableCap");\r
-            fvImageParaTableModel.addColumn("ReadEnableCap");\r
-            fvImageParaTableModel.addColumn("WriteDisableCap");\r
-            fvImageParaTableModel.addColumn("WriteEnableCap");\r
-            fvImageParaTableModel.addColumn("LockCap");\r
-            fvImageParaTableModel.addColumn("Alignment");\r
+            \r
             \r
             TableColumn typeCol = jTable2.getColumnModel().getColumn(1);\r
             JComboBox cb = new JComboBox();\r
@@ -869,26 +843,6 @@ public class FpdFlash extends IInternalFrame {
             cb.addItem("Components");\r
             typeCol.setCellEditor(new DefaultCellEditor(cb));\r
             \r
-            TableColumn alignCol = jTable2.getColumnModel().getColumn(13);\r
-            JComboBox cb1 = new JComboBox();\r
-            cb1.addItem("64K");\r
-            cb1.addItem("32K");\r
-            cb1.addItem("16K");\r
-            cb1.addItem("8K");\r
-            cb1.addItem("4K");\r
-            cb1.addItem("2K");\r
-            cb1.addItem("1K");\r
-            cb1.addItem("512");\r
-            cb1.addItem("256");\r
-            cb1.addItem("128");\r
-            cb1.addItem("64");\r
-            cb1.addItem("32");\r
-            cb1.addItem("16");\r
-            cb1.addItem("8");\r
-            cb1.addItem("4");\r
-            cb1.addItem("2");\r
-            alignCol.setCellEditor(new DefaultCellEditor(cb1));\r
-            \r
             jTable2.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
             jTable2.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
                 public void valueChanged(ListSelectionEvent e) {\r
@@ -900,32 +854,27 @@ public class FpdFlash extends IInternalFrame {
                         return;\r
                     }\r
                     else{\r
-//                        selectedRow = lsm.getMinSelectionIndex();\r
-                    }\r
-                }\r
-            });\r
-            \r
-            jTable2.getModel().addTableModelListener(new TableModelListener(){\r
-                public void tableChanged(TableModelEvent arg0) {\r
-                    // TODO Auto-generated method stub\r
-                    int row = arg0.getFirstRow();\r
-                    TableModel m = (TableModel)arg0.getSource();\r
-                    if (arg0.getType() == TableModelEvent.UPDATE){\r
-                        //ToDo Check data validity before update\r
-                        String name = m.getValueAt(row, 0) + "";\r
-                        String type = m.getValueAt(row, 1) + "";\r
-                        boolean[] boolArray = new boolean[11];\r
-                        for (int i = 2; i < 13; ++i) {\r
-                            boolArray[i-2] = (Boolean)m.getValueAt(row, i);\r
+                        int selectedRow = lsm.getMinSelectionIndex();\r
+                        LinkedHashMap<String, String> optionMap = new LinkedHashMap<String, String>();\r
+                        ffc.getFvImagesFvImageOptions(selectedRow, optionMap);\r
+                        if (optionMap.size() > 0){\r
+                            fvOptionTableModel.setRowCount(0);\r
+                            Set<String> key = optionMap.keySet();\r
+                            Iterator<String> i = key.iterator();\r
+                            while (i.hasNext()) {\r
+                                \r
+                                String k = (String)i.next();\r
+                                String[] row = {k, optionMap.get(k)};\r
+                                \r
+                                fvOptionTableModel.addRow(row);\r
+                            }\r
                         }\r
-                        LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();\r
-                        booleanToNameValue(boolArray, lhm);\r
-                        lhm.put("EFI_ALIGNMENT_CAP", m.getValueAt(row, 13)+"");\r
-\r
-                        ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm);\r
+                        \r
                     }\r
                 }\r
             });\r
+            \r
+            \r
         }\r
         return jTable2;\r
     }\r
@@ -939,7 +888,7 @@ public class FpdFlash extends IInternalFrame {
     private JButton getJButton6() {\r
         if (jButton6 == null) {\r
             jButton6 = new JButton();\r
-            jButton6.setPreferredSize(new java.awt.Dimension(150,20));\r
+            jButton6.setPreferredSize(new java.awt.Dimension(120,20));\r
 //            jButton6.setEnabled(false);\r
             jButton6.setText("Delete Row");\r
             jButton6.addActionListener(new AbstractAction() {\r
@@ -975,29 +924,19 @@ public class FpdFlash extends IInternalFrame {
 \r
                 public void itemStateChanged(ItemEvent arg0) {\r
                     // TODO Auto-generated method stub\r
-                    boolean seleted = jCheckBox3.isSelected();\r
+                    boolean selected = jCheckBox3.isSelected();\r
                     \r
                         if (!jCheckBox2.isSelected() || jComboBox.getSelectedIndex() == 0) {\r
                             return;\r
                         }\r
                         \r
-                        jLabel5.setEnabled(seleted);\r
-                        jComboBox1.setEnabled(seleted);\r
-                        \r
-                        jCheckBox4.setEnabled(seleted);\r
-                        jCheckBox5.setEnabled(seleted);\r
-                        jCheckBox6.setEnabled(seleted);\r
-                        jCheckBox7.setEnabled(seleted);\r
-                        jCheckBox8.setEnabled(seleted);\r
-                        jCheckBox9.setEnabled(seleted);\r
-                        jCheckBox10.setEnabled(seleted);\r
-                        jCheckBox11.setEnabled(seleted);\r
-                        jCheckBox12.setEnabled(seleted);\r
-                        jCheckBox13.setEnabled(seleted);\r
-                        jLabel6.setEnabled(seleted);\r
-                        jComboBox2.setEnabled(seleted);\r
-//                        jButton4.setEnabled(seleted);\r
-//                        jButton6.setEnabled(seleted);\r
+//                        jLabel5.setEnabled(selected);\r
+//                        jTextField4.setEnabled(selected);\r
+//                        jLabel6.setEnabled(selected);\r
+//                        jTextField5.setEnabled(selected);\r
+//                        jButton7.setEnabled(selected);\r
+//                        jButton8.setEnabled(selected);\r
+\r
                 }\r
                 \r
             });\r
@@ -1006,174 +945,6 @@ public class FpdFlash extends IInternalFrame {
     }\r
 \r
 \r
-    /**\r
-     * This method initializes jComboBox1      \r
-     *         \r
-     * @return javax.swing.JComboBox   \r
-     */\r
-    private JComboBox getJComboBox1() {\r
-        if (jComboBox1 == null) {\r
-            jComboBox1 = new JComboBox();\r
-            jComboBox1.setPreferredSize(new java.awt.Dimension(20,20));\r
-            jComboBox1.setEnabled(false);\r
-            jComboBox1.addItem("1");\r
-            jComboBox1.addItem("0");\r
-            jComboBox1.setSelectedIndex(0);\r
-        }\r
-        return jComboBox1;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox4      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox4() {\r
-        if (jCheckBox4 == null) {\r
-            jCheckBox4 = new JCheckBox();\r
-            jCheckBox4.setText("Read Disable CAP");\r
-            jCheckBox4.setEnabled(false);\r
-        }\r
-        return jCheckBox4;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox5      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox5() {\r
-        if (jCheckBox5 == null) {\r
-            jCheckBox5 = new JCheckBox();\r
-            jCheckBox5.setText("Read Enable CAP");\r
-            jCheckBox5.setEnabled(false);\r
-        }\r
-        return jCheckBox5;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox6      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox6() {\r
-        if (jCheckBox6 == null) {\r
-            jCheckBox6 = new JCheckBox();\r
-            jCheckBox6.setText("Read Status");\r
-            jCheckBox6.setEnabled(false);\r
-        }\r
-        return jCheckBox6;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox7      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox7() {\r
-        if (jCheckBox7 == null) {\r
-            jCheckBox7 = new JCheckBox();\r
-            jCheckBox7.setText("Write Disable CAP");\r
-            jCheckBox7.setEnabled(false);\r
-        }\r
-        return jCheckBox7;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox8      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox8() {\r
-        if (jCheckBox8 == null) {\r
-            jCheckBox8 = new JCheckBox();\r
-            jCheckBox8.setText("Write Enable CAP");\r
-            jCheckBox8.setEnabled(false);\r
-        }\r
-        return jCheckBox8;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox9      \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox9() {\r
-        if (jCheckBox9 == null) {\r
-            jCheckBox9 = new JCheckBox();\r
-            jCheckBox9.setText("Write Status");\r
-            jCheckBox9.setEnabled(false);\r
-        }\r
-        return jCheckBox9;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox10     \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox10() {\r
-        if (jCheckBox10 == null) {\r
-            jCheckBox10 = new JCheckBox();\r
-            jCheckBox10.setText("Lock CAP");\r
-            jCheckBox10.setEnabled(false);\r
-        }\r
-        return jCheckBox10;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox11     \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox11() {\r
-        if (jCheckBox11 == null) {\r
-            jCheckBox11 = new JCheckBox();\r
-            jCheckBox11.setText("Lock Status");\r
-            jCheckBox11.setEnabled(false);\r
-        }\r
-        return jCheckBox11;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox12     \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox12() {\r
-        if (jCheckBox12 == null) {\r
-            jCheckBox12 = new JCheckBox();\r
-            jCheckBox12.setText("Memory Mapped");\r
-            jCheckBox12.setEnabled(false);\r
-        }\r
-        return jCheckBox12;\r
-    }\r
-\r
-\r
-    /**\r
-     * This method initializes jCheckBox13     \r
-     *         \r
-     * @return javax.swing.JCheckBox   \r
-     */\r
-    private JCheckBox getJCheckBox13() {\r
-        if (jCheckBox13 == null) {\r
-            jCheckBox13 = new JCheckBox();\r
-            jCheckBox13.setText("Sticky Write");\r
-            jCheckBox13.setEnabled(false);\r
-        }\r
-        return jCheckBox13;\r
-    }\r
-\r
-\r
     /**\r
      * This method initializes jPanel6 \r
      *         \r
@@ -1308,33 +1079,171 @@ public class FpdFlash extends IInternalFrame {
     }\r
 \r
     /**\r
-     * This method initializes jComboBox2      \r
+     * This method initializes jTextField4     \r
      *         \r
-     * @return javax.swing.JComboBox   \r
+     * @return javax.swing.JTextField  \r
      */\r
-    private JComboBox getJComboBox2() {\r
-        if (jComboBox2 == null) {\r
-            jComboBox2 = new JComboBox();\r
-            jComboBox2.setEnabled(false);\r
-            jComboBox2.addItem("64K");\r
-            jComboBox2.addItem("32K");\r
-            jComboBox2.addItem("16K");\r
-            jComboBox2.addItem("8K");\r
-            jComboBox2.addItem("4K");\r
-            jComboBox2.addItem("2K");\r
-            jComboBox2.addItem("1K");\r
-            jComboBox2.addItem("512");\r
-            jComboBox2.addItem("256");\r
-            jComboBox2.addItem("128");\r
-            jComboBox2.addItem("64");\r
-            jComboBox2.addItem("32");\r
-            jComboBox2.addItem("16");\r
-            jComboBox2.addItem("8");\r
-            jComboBox2.addItem("4");\r
-            jComboBox2.addItem("2");\r
-            jComboBox2.setSelectedIndex(0);\r
+    private JTextField getJTextField4() {\r
+        if (jTextField4 == null) {\r
+            jTextField4 = new JTextField();\r
+            jTextField4.setEnabled(false);\r
+            jTextField4.setPreferredSize(new Dimension(100, 20));\r
         }\r
-        return jComboBox2;\r
+        return jTextField4;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTextField5     \r
+     *         \r
+     * @return javax.swing.JTextField  \r
+     */\r
+    private JTextField getJTextField5() {\r
+        if (jTextField5 == null) {\r
+            jTextField5 = new JTextField();\r
+            jTextField5.setEnabled(false);\r
+            jTextField5.setPreferredSize(new Dimension(100, 20));\r
+        }\r
+        return jTextField5;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jPanel8 \r
+     *         \r
+     * @return javax.swing.JPanel      \r
+     */\r
+    private JPanel getJPanel8() {\r
+        if (jPanel8 == null) {\r
+            jPanel8 = new JPanel();\r
+            jPanel8.setPreferredSize(new Dimension(80, 55));\r
+            jPanel8.add(getJButton7(), null);\r
+            jPanel8.add(getJButton8(), null);\r
+        }\r
+        return jPanel8;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jButton7        \r
+     *         \r
+     * @return javax.swing.JButton     \r
+     */\r
+    private JButton getJButton7() {\r
+        if (jButton7 == null) {\r
+            jButton7 = new JButton();\r
+            jButton7.setEnabled(true);\r
+            jButton7.setText("Add");\r
+            jButton7.setPreferredSize(new Dimension(80, 20));\r
+            jButton7.addActionListener(new AbstractAction() {\r
+                /**\r
+                 * \r
+                 */\r
+                private static final long serialVersionUID = 1L;\r
+\r
+                public void actionPerformed(ActionEvent e) {\r
+                    if (jTextField4.getText().length() > 0 && jTextField5.getText().length() > 0){\r
+                        String[] row = {jTextField4.getText(), jTextField5.getText()};                        \r
+                        fvOptionTableModel.addRow(row);\r
+                    }\r
+                }\r
+            });\r
+        }\r
+        return jButton7;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jButton8        \r
+     *         \r
+     * @return javax.swing.JButton     \r
+     */\r
+    private JButton getJButton8() {\r
+        if (jButton8 == null) {\r
+            jButton8 = new JButton();\r
+            jButton8.setEnabled(true);\r
+            jButton8.setText("Delete");\r
+            jButton8.setPreferredSize(new Dimension(80, 20));\r
+            jButton8.addActionListener(new AbstractAction() {\r
+                /**\r
+                 * \r
+                 */\r
+                private static final long serialVersionUID = 1L;\r
+\r
+                public void actionPerformed(ActionEvent e) {\r
+                    if (jTable3.getSelectedRow() >= 0){\r
+                        fvOptionTableModel.removeRow(jTable.getSelectedRow());\r
+                    }\r
+                }\r
+            });\r
+        }\r
+        return jButton8;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jScrollPane     \r
+     *         \r
+     * @return javax.swing.JScrollPane \r
+     */\r
+    private JScrollPane getJScrollPane() {\r
+        if (jScrollPane == null) {\r
+            jScrollPane = new JScrollPane();\r
+            jScrollPane.setPreferredSize(new java.awt.Dimension(350,80));\r
+            jScrollPane.setViewportView(getJTable3());\r
+        }\r
+        return jScrollPane;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jTable3 \r
+     *         \r
+     * @return javax.swing.JTable      \r
+     */\r
+    private JTable getJTable3() {\r
+        if (jTable3 == null) {\r
+            fvOptionTableModel = new DefaultTableModel();\r
+            fvOptionTableModel.addColumn("Name");\r
+            fvOptionTableModel.addColumn("Value");\r
+            jTable3 = new JTable(fvOptionTableModel);\r
+\r
+            jTable3.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
+            jTable3.setRowHeight(20);\r
+            \r
+        }\r
+        return jTable3;\r
+    }\r
+\r
+    /**\r
+     * This method initializes jButton9        \r
+     *         \r
+     * @return javax.swing.JButton     \r
+     */\r
+    private JButton getJButton9() {\r
+        if (jButton9 == null) {\r
+            jButton9 = new JButton();\r
+            jButton9.setPreferredSize(new Dimension(120, 20));\r
+            jButton9.setActionCommand("Update");\r
+            jButton9.setText("Update FV");\r
+            jButton9.addActionListener(new java.awt.event.ActionListener() {\r
+                public void actionPerformed(java.awt.event.ActionEvent e) {\r
+                    int row = jTable2.getSelectedRow();\r
+                    if (jTable2.isEditing()) {\r
+                        jTable2.getCellEditor().stopCellEditing();\r
+                    }\r
+                    if (jTable3.isEditing()) {\r
+                        jTable3.getCellEditor().stopCellEditing();\r
+                    }\r
+                    \r
+                        //ToDo Check data validity before update\r
+                        String name = fvImageParaTableModel.getValueAt(row, 0) + "";\r
+                        String type = fvImageParaTableModel.getValueAt(row, 1) + "";\r
+                        \r
+                        LinkedHashMap<String, String> lhm = new LinkedHashMap<String, String>();\r
+                        getOptionNameValue(lhm);\r
+                        \r
+\r
+                        ffc.updateFvImagesFvImage(row, name.split(" "), type, lhm);\r
+                    \r
+                }\r
+            });\r
+        }\r
+        return jButton9;\r
     }\r
 \r
     /**\r
@@ -1375,247 +1284,25 @@ public class FpdFlash extends IInternalFrame {
             return;\r
         }\r
         String[][] saa = new String[ffc.getFvImagesFvImageCount()][2];\r
-        ArrayList<LinkedHashMap<String, String>> options = new ArrayList<LinkedHashMap<String, String>>(ffc.getFvImagesFvImageCount());\r
-\r
-        for (int j = 0; j < ffc.getFvImagesFvImageCount(); ++j){\r
-            options.add(new LinkedHashMap<String, String>());\r
-        }\r
-        ffc.getFvImagesFvImages(saa, options);\r
+//        ArrayList<LinkedHashMap<String, String>> options = new ArrayList<LinkedHashMap<String, String>>(ffc.getFvImagesFvImageCount());\r
+//\r
+//        for (int j = 0; j < ffc.getFvImagesFvImageCount(); ++j){\r
+//            options.add(new LinkedHashMap<String, String>());\r
+//        }\r
+        ffc.getFvImagesFvImages(saa);\r
         \r
-        Object[] rowData = new Object[14];\r
+       \r
         int i = 0;\r
-        Boolean f = new Boolean("false");\r
         while (i < saa.length) {\r
-            rowData[0] = saa[i][0];\r
-            rowData[1] = saa[i][1];\r
-            \r
             \r
-            //ToDo: add alignment settings\r
-            Boolean[] boolArray = new Boolean[11];\r
-            int k = 0;\r
-            while (k < 11){\r
-                boolArray[k] = f;\r
-                ++k;\r
-            }\r
-            namevalueToBoolean(options.get(i), boolArray);\r
-            for (k = 2; k < 13; ++k) {\r
-                rowData[k] = boolArray[k-2];\r
-            }\r
-            rowData[13] = getAlign(options.get(i));\r
-            fvImageParaTableModel.addRow(rowData);\r
+            fvImageParaTableModel.addRow(saa[i]);\r
             ++i;\r
         }\r
     }\r
     \r
-    private String getAlign(Map<String, String> m){\r
-        String s = "64K";\r
-        if (m.get("EFI_ALIGNMENT_64K") != null) {\r
-            if (m.get("EFI_ALIGNMENT_64K").equals("TRUE")) {\r
-                s = "64K";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_32K") != null) {\r
-            if (m.get("EFI_ALIGNMENT_32K").equals("TRUE")) {\r
-                s = "32K";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_16K") != null) {\r
-            if (m.get("EFI_ALIGNMENT_16K").equals("TRUE")) {\r
-                s = "16K";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_8K") != null) {\r
-            if (m.get("EFI_ALIGNMENT_8K").equals("TRUE")) {\r
-                s = "8K";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_4K") != null) {\r
-            if (m.get("EFI_ALIGNMENT_4K").equals("TRUE")) {\r
-                s = "4K";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_2K") != null) {\r
-            if (m.get("EFI_ALIGNMENT_2K").equals("TRUE")) {\r
-                s = "2K";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_1K") != null) {\r
-            if (m.get("EFI_ALIGNMENT_1K").equals("TRUE")) {\r
-                s = "1K";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_512") != null) {\r
-            if (m.get("EFI_ALIGNMENT_512").equals("TRUE")) {\r
-                s = "512";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_256") != null) {\r
-            if (m.get("EFI_ALIGNMENT_256").equals("TRUE")) {\r
-                s = "256";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_128") != null) {\r
-            if (m.get("EFI_ALIGNMENT_128").equals("TRUE")) {\r
-                s = "128";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_64") != null) {\r
-            if (m.get("EFI_ALIGNMENT_64").equals("TRUE")) {\r
-                s = "64";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_32") != null) {\r
-            if (m.get("EFI_ALIGNMENT_32").equals("TRUE")) {\r
-                s = "32";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_16") != null) {\r
-            if (m.get("EFI_ALIGNMENT_16").equals("TRUE")) {\r
-                s = "16";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_8") != null) {\r
-            if (m.get("EFI_ALIGNMENT_8").equals("TRUE")) {\r
-                s = "8";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_4") != null) {\r
-            if (m.get("EFI_ALIGNMENT_4").equals("TRUE")) {\r
-                s = "4";\r
-                return s;\r
-            }\r
-        }\r
-        if (m.get("EFI_ALIGNMENT_2") != null) {\r
-            if (m.get("EFI_ALIGNMENT_2").equals("TRUE")) {\r
-                s = "2";\r
-                return s;\r
-            }\r
-        }\r
-        return s;\r
-    }\r
-    \r
-    private void namevalueToBoolean(Map<String, String> m, Boolean[] boolArray){\r
-        Set<String> key = m.keySet();\r
-        Iterator<String> ki= key.iterator();\r
-        Boolean t = new Boolean("true");\r
-        while(ki.hasNext()) {\r
-            String k = ki.next();\r
-            if (k.equals("EFI_ERASE_POLARITY") && m.get(k).equals("1")) {\r
-                boolArray[0] = t;\r
-            }\r
-            if (k.equals("EFI_READ_STATUS") && m.get(k).equals("TRUE")) {\r
-                boolArray[1] = t;\r
-            }\r
-            if (k.equals("EFI_WRITE_STATUS") && m.get(k).equals("TRUE")) {\r
-                boolArray[2] = t;\r
-            }\r
-            if (k.equals("EFI_LOCK_STATUS") && m.get(k).equals("TRUE")) {\r
-                boolArray[3] = t;\r
-            }\r
-            if (k.equals("EFI_MEMORY_MAPPED") && m.get(k).equals("TRUE")) {\r
-                boolArray[4] = t;\r
-            }\r
-            if (k.equals("EFI_STICKY_WRITE") && m.get(k).equals("TRUE")) {\r
-                boolArray[5] = t;\r
-            }\r
-            if (k.equals("EFI_READ_DISABLED_CAP") && m.get(k).equals("TRUE")) {\r
-                boolArray[6] = t;\r
-            }\r
-            if (k.equals("EFI_READ_ENABLED_CAP") && m.get(k).equals("TRUE")) {\r
-                boolArray[7] = t;\r
-            }\r
-            if (k.equals("EFI_WRITE_DISABLED_CAP") && m.get(k).equals("TRUE")) {\r
-                boolArray[8] = t;\r
-            }\r
-            if (k.equals("EFI_WRITE_ENABLED_CAP") && m.get(k).equals("TRUE")) {\r
-                boolArray[9] = t;\r
-            }\r
-            if (k.equals("EFI_LOCK_CAP") && m.get(k).equals("TRUE")) {\r
-                boolArray[10] = t;\r
-            }\r
-        }\r
-    }\r
-    \r
-    private void booleanToNameValue(boolean[] boolArray, Map<String, String> m){\r
-        if (boolArray[0]) {\r
-            m.put("EFI_ERASE_POLARITY", "1");\r
-        }\r
-        else {\r
-            m.put("EFI_ERASE_POLARITY", "0");\r
-        }\r
-        if (boolArray[1]) {\r
-            m.put("EFI_READ_STATUS", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_READ_STATUS", "FALSE");\r
-        }\r
-        if (boolArray[2]) {\r
-            m.put("EFI_WRITE_STATUS", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_WRITE_STATUS", "FALSE");\r
-        }\r
-        if (boolArray[3]) {\r
-            m.put("EFI_LOCK_STATUS", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_LOCK_STATUS", "FALSE");\r
-        }\r
-        if (boolArray[4]) {\r
-            m.put("EFI_MEMORY_MAPPED", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_MEMORY_MAPPED", "FALSE");\r
-        }\r
-        if (boolArray[5]) {\r
-            m.put("EFI_STICKY_WRITE", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_STICKY_WRITE", "FALSE");\r
-        }\r
-        if (boolArray[6]) {\r
-            m.put("EFI_READ_DISABLED_CAP", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_READ_DISABLED_CAP", "FALSE");\r
-        }\r
-        if (boolArray[7]) {\r
-            m.put("EFI_READ_ENABLED_CAP", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_READ_ENABLED_CAP", "FALSE");\r
-        }\r
-        if (boolArray[8]) {\r
-            m.put("EFI_WRITE_DISABLED_CAP", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_WRITE_DISABLED_CAP", "FALSE");\r
-        }\r
-        if (boolArray[9]) {\r
-            m.put("EFI_WRITE_ENABLED_CAP", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_WRITE_ENABLED_CAP", "FALSE");\r
-        }\r
-        if (boolArray[10]) {\r
-            m.put("EFI_LOCK_CAP", "TRUE");\r
-        }\r
-        else {\r
-            m.put("EFI_LOCK_CAP", "FALSE");\r
+    private void getOptionNameValue(Map<String, String> m){\r
+        for (int i = 0; i < jTable3.getRowCount(); ++i) {\r
+            m.put(fvOptionTableModel.getValueAt(i, 0)+"", fvOptionTableModel.getValueAt(i, 1)+"");\r
         }\r
     }\r
     /**\r
@@ -1640,17 +1327,7 @@ public class FpdFlash extends IInternalFrame {
 \r
 class ImageParaTableModel extends DefaultTableModel {\r
 \r
-    /**\r
-     * \r
-     */\r
     private static final long serialVersionUID = 1L;\r
-\r
-    public Class<?> getColumnClass (int c) {\r
-        if (getValueAt(0, c) != null) {\r
-            return getValueAt(0, c).getClass();\r
-        }\r
-        return String.class;\r
-    }\r
     \r
    public boolean isCellEditable(int row, int col) {\r
         if (getValueAt(row, 1).equals("ImageName") && col >=1) {\r
@@ -1659,3 +1336,4 @@ class ImageParaTableModel extends DefaultTableModel {
         return true;\r
     }\r
 }\r
+\r