]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Add Data Validations for SPD editor.
authorjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 5 Jul 2006 08:16:05 +0000 (08:16 +0000)
committerjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 5 Jul 2006 08:16:05 +0000 (08:16 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@765 6f19259b-4bc3-4df7-8a09-765794883524

Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdFileContents.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdGuidDecls.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdHeader.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdLibClassDecls.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdMsaFiles.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPackageDefinitions.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPackageHeaders.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPcdDefs.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdPpiDecls.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdProtocolDecls.java

index 24fab9663490337f762123f5494aaea6fa8d39d9..5bac8be0cd7c4c511824a2cd527ea9c0e45747e7 100644 (file)
@@ -19,7 +19,6 @@ import java.util.List;
 import java.util.ListIterator;\r
 import java.util.Vector;\r
 \r
-import javax.xml.namespace.QName;\r
 \r
 import org.apache.xmlbeans.XmlObject;\r
 import org.apache.xmlbeans.XmlOptions;\r
@@ -360,15 +359,24 @@ public class SpdFileContents {
             e.setCName(cName);\r
             e.setGuidValue(guid);\r
             e.setHelpText(hlp);\r
-            if (stringToList(guidTypeList) != null && !guidTypeList.equals("")) {\r
+            if (stringToList(guidTypeList) != null) {\r
                 e.setGuidTypeList(stringToList(guidTypeList));\r
             }\r
+            else{\r
+                e.setGuidTypeList(null);\r
+            }\r
             if (stringToList(archList) != null){\r
                 e.setSupArchList(stringToList(archList));\r
             }\r
+            else{\r
+                e.setSupArchList(null);\r
+            }\r
             if (stringToList(modTypeList) != null) {\r
                 e.setSupModuleList(stringToList(modTypeList));\r
             }\r
+            else{\r
+                e.setSupModuleList(null);\r
+            }\r
             \r
         }\r
         cursor.dispose();\r
@@ -394,9 +402,15 @@ public class SpdFileContents {
             if (stringToList(archList) != null){\r
                 e.setSupArchList(stringToList(archList));\r
             }\r
+            else{\r
+                e.setSupArchList(null);\r
+            }\r
             if (stringToList(modTypeList) != null) {\r
                 e.setSupModuleList(stringToList(modTypeList));\r
             }\r
+            else{\r
+                e.setSupModuleList(null);\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -421,9 +435,15 @@ public class SpdFileContents {
             if (stringToList(archList) != null){\r
                 e.setSupArchList(stringToList(archList));\r
             }\r
+            else{\r
+                e.setSupArchList(null);\r
+            }\r
             if (stringToList(modTypeList) != null) {\r
                 e.setSupModuleList(stringToList(modTypeList));\r
             }\r
+            else{\r
+                e.setSupModuleList(null);\r
+            }\r
         }\r
         cursor.dispose();\r
     }\r
@@ -1093,15 +1113,18 @@ public class SpdFileContents {
             e.setCName(cName);\r
             e.setGuidValue(guid);\r
             e.setHelpText(help);\r
-            if (guidTypeList != null && guidTypeList.size() > 0) {\r
-                e.setGuidTypeList(new ArrayList<String>(guidTypeList));\r
-            }\r
-            if (archList != null && archList.size() > 0){\r
-                e.setSupArchList(new ArrayList<String>(archList));\r
-            }\r
-            if (modTypeList != null && modTypeList.size() > 0) {\r
-                e.setSupModuleList(new ArrayList<String>(modTypeList));\r
-            }\r
+            e.setGuidTypeList(guidTypeList);\r
+            e.setSupArchList(archList);\r
+            e.setSupModuleList(modTypeList);\r
+//            if (guidTypeList != null && guidTypeList.size() > 0) {\r
+//                e.setGuidTypeList(new ArrayList<String>(guidTypeList));\r
+//            }\r
+//            if (archList != null && archList.size() > 0){\r
+//                e.setSupArchList(new ArrayList<String>(archList));\r
+//            }\r
+//            if (modTypeList != null && modTypeList.size() > 0) {\r
+//                e.setSupModuleList(new ArrayList<String>(modTypeList));\r
+//            }\r
             return;\r
         }\r
         if (parent instanceof ProtocolDeclarationsDocument.ProtocolDeclarations) {\r
@@ -1111,12 +1134,14 @@ public class SpdFileContents {
             pe.setCName(cName);\r
             pe.setGuidValue(guid);\r
             pe.setHelpText(help);\r
-            if (archList != null && archList.size() > 0){\r
-                pe.setSupArchList(new ArrayList<String>(archList));\r
-            }\r
-            if (modTypeList != null && modTypeList.size() > 0) {\r
-                pe.setSupModuleList(new ArrayList<String>(modTypeList));\r
-            }\r
+            pe.setSupArchList(archList);\r
+            pe.setSupModuleList(modTypeList);\r
+//            if (archList != null && archList.size() > 0){\r
+//                pe.setSupArchList(new ArrayList<String>(archList));\r
+//            }\r
+//            if (modTypeList != null && modTypeList.size() > 0) {\r
+//                pe.setSupModuleList(new ArrayList<String>(modTypeList));\r
+//            }\r
             return;\r
         }\r
         if (parent instanceof PpiDeclarationsDocument.PpiDeclarations) {\r
@@ -1126,12 +1151,14 @@ public class SpdFileContents {
             ppe.setCName(cName);\r
             ppe.setGuidValue(guid);\r
             ppe.setHelpText(help);\r
-            if (archList != null && archList.size() > 0){\r
-                ppe.setSupArchList(new ArrayList<String>(archList));\r
-            }\r
-            if (archList != null && modTypeList.size() > 0) {\r
-                ppe.setSupModuleList(new ArrayList<String>(modTypeList));\r
-            }\r
+            ppe.setSupArchList(archList);\r
+            ppe.setSupModuleList(modTypeList);\r
+//            if (archList != null && archList.size() > 0){\r
+//                ppe.setSupArchList(new ArrayList<String>(archList));\r
+//            }\r
+//            if (archList != null && modTypeList.size() > 0) {\r
+//                ppe.setSupModuleList(new ArrayList<String>(modTypeList));\r
+//            }\r
             return;\r
         }\r
 \r
@@ -1507,10 +1534,10 @@ public class SpdFileContents {
     }\r
     \r
     private List<String> stringToList(String s){\r
-        if (s == null) {\r
+        if (s == null || s.length() == 0) {\r
             return null;\r
         }\r
-        ArrayList<String> al = new ArrayList<String>();\r
+        Vector<String> al = new Vector<String>();\r
         String[] sArray = s.split(" ");\r
         for(int i = 0; i < sArray.length; ++i){\r
             al.add(sArray[i]);\r
@@ -1518,7 +1545,7 @@ public class SpdFileContents {
         return al; \r
     }\r
     \r
-    private String listToString(List<String> l) {\r
+    private String listToString(List l) {\r
         if (l == null) {\r
             return null;\r
         }\r
index 2eaf87054cc8a876c2f9fd981b587883fca20f70..6fe9d43bb2aced958d1dcba78c790bb755f05d4c 100644 (file)
@@ -12,25 +12,16 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 **/\r
 package org.tianocore.frameworkwizard.packaging.ui;\r
 \r
-import java.awt.BorderLayout;\r
 import java.awt.Dimension;\r
-import java.awt.Toolkit;\r
 import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
 import java.awt.event.ComponentEvent;\r
-import java.io.File;\r
 import java.util.Vector;\r
 \r
-import javax.swing.DefaultListModel;\r
-import javax.swing.JFileChooser;\r
 import javax.swing.JOptionPane;\r
 import javax.swing.JPanel;\r
-import javax.swing.JRadioButton;\r
 import javax.swing.JTable;\r
 import javax.swing.JTextField;\r
-import javax.swing.JComboBox;\r
 import javax.swing.JLabel;\r
-import javax.swing.JList;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JButton;\r
 import javax.swing.JFrame;\r
@@ -45,11 +36,12 @@ import javax.swing.table.DefaultTableModel;
 import javax.swing.table.TableModel;\r
 \r
 import org.tianocore.PackageSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.common.DataType;\r
+import org.tianocore.frameworkwizard.common.DataValidation;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;\r
+import org.tianocore.frameworkwizard.platform.ui.ListEditor;\r
 \r
 /**\r
  GUI for create library definition elements of spd file.\r
@@ -57,6 +49,11 @@ import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;
  @since PackageEditor 1.0\r
 **/\r
 public class SpdGuidDecls extends IInternalFrame implements TableModelListener{\r
+    /**\r
+     * \r
+     */\r
+    private static final long serialVersionUID = 1L;\r
+\r
     static JFrame frame;\r
     \r
     private SpdFileContents sfc = null;\r
@@ -190,6 +187,41 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
            model.addColumn("GuidTypes");\r
            jTable.getColumnModel().getColumn(2).setCellEditor(new GuidEditor());\r
 \r
+           Vector<String> vArch = new Vector<String>();\r
+           vArch.add("IA32");\r
+           vArch.add("X64");\r
+           vArch.add("IPF");\r
+           vArch.add("EBC");\r
+           vArch.add("ARM");\r
+           vArch.add("PPC");\r
+           jTable.getColumnModel().getColumn(4).setCellEditor(new ListEditor(vArch));\r
+           \r
+           Vector<String> vModule = new Vector<String>();\r
+           vModule.add("BASE");\r
+           vModule.add("SEC");\r
+           vModule.add("PEI_CORE");\r
+           vModule.add("PEIM");\r
+           vModule.add("DXE_CORE");\r
+           vModule.add("DXE_DRIVER");\r
+           vModule.add("DXE_RUNTIME_DRIVER");\r
+           vModule.add("DXE_SAL_DRIVER");\r
+           vModule.add("DXE_SMM_DRIVER");\r
+           vModule.add("UEFI_DRIVER");\r
+           vModule.add("UEFI_APPLICATION");\r
+           vModule.add("USER_DEFINED");\r
+           jTable.getColumnModel().getColumn(5).setCellEditor(new ListEditor(vModule));\r
+           \r
+           Vector<String> vGuid = new Vector<String>();\r
+           vGuid.add("DATA_HUB_RECORD");\r
+           vGuid.add("EFI_EVENT");\r
+           vGuid.add("EFI_SYSTEM_CONFIGURATION_TABLE");\r
+           vGuid.add("EFI_VARIABLE");\r
+           vGuid.add("GUID");\r
+           vGuid.add("HII_PACKAGE_LIST");\r
+           vGuid.add("HOB");\r
+           vGuid.add("TOKEN_SPACE_GUID");\r
+           jTable.getColumnModel().getColumn(6).setCellEditor(new ListEditor(vGuid));\r
+           \r
            jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
            jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
                public void valueChanged(ListSelectionEvent e) {\r
@@ -238,7 +270,10 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
        if (m.getValueAt(row, 6) != null){\r
            guidTypeList = m.getValueAt(row, 6).toString();\r
        }\r
-       \r
+       String[] rowData = {name, cName, guid, help};\r
+       if (!dataValidation(rowData)){\r
+           return;\r
+       }\r
        \r
        sfc.updateSpdGuidDecl(row, name, cName, guid, help, archList, modTypeList, guidTypeList);\r
    }\r
@@ -481,7 +516,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
         if (arg0.getSource() == jButtonAdd) {\r
             \r
             //ToDo: check before add\r
-            String[] row = {"", "", "", "", "", "", null};\r
+            String[] row = {"", "", "", "", "", "", ""};\r
             row[3] = jTextField.getText();\r
             row[2] = jTextFieldAdd.getText();\r
             row[1] = jTextFieldVersion.getText();\r
@@ -494,8 +529,13 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
             if (row[5].length() == 0) {\r
                 row[5] = null;\r
             }\r
-            if (iCheckBoxList1.getAllCheckedItemsString() != null) {\r
-                row[6] = vectorToString(iCheckBoxList1.getAllCheckedItemsString());\r
+            row[6] = vectorToString(iCheckBoxList1.getAllCheckedItemsString());\r
+            if (row[6].length() == 0) {\r
+                row[6] = null;\r
+            }\r
+            \r
+            if (!dataValidation(row)) {\r
+                return;\r
             }\r
             model.addRow(row);\r
             addRow(row);\r
@@ -523,9 +563,7 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
         }\r
         \r
         if (arg0.getSource() == jButtonGen) {\r
-            guidDialog = new GenGuidDialog(this);\r
-            guidDialog.setGuid(jTextFieldAdd.getText());\r
-            guidDialog.setVisible(true);\r
+            jTextFieldAdd.setText(Tools.generateUuidString());\r
         }\r
         \r
         if (arg0.getActionCommand().equals("GenGuidValue")) {\r
@@ -534,6 +572,26 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
         \r
     }\r
     \r
+    protected boolean dataValidation(String[] row){\r
+        if (!DataValidation.isUiNameType(row[0])) {\r
+            JOptionPane.showMessageDialog(this, "Name is NOT UiNameType.");\r
+            return false;\r
+        }\r
+        if (!DataValidation.isGuid(row[2])) {\r
+            JOptionPane.showMessageDialog(this, "Guid Value is NOT GuidType.");\r
+            return false;\r
+        }\r
+        if (!DataValidation.isC_NameType(row[1])) {\r
+            JOptionPane.showMessageDialog(this, "C_Name is NOT C_NameType.");\r
+            return false;\r
+        }\r
+        if (row[3].length() == 0) {\r
+            JOptionPane.showMessageDialog(this, "HelpText could NOT be empty.");\r
+            return false;\r
+        }\r
+        return true;\r
+    }\r
+    \r
     protected void addRow(String[] row) {\r
         Vector<String> vArch = iCheckBoxList.getAllCheckedItemsString();\r
         Vector<String> vModType = iCheckBoxList2.getAllCheckedItemsString();\r
@@ -649,7 +707,8 @@ public class SpdGuidDecls extends IInternalFrame implements TableModelListener{
             v.add("X64");\r
             v.add("IPF");\r
             v.add("EBC");\r
-            \r
+            v.add("ARM");\r
+            v.add("PPC");\r
             iCheckBoxList.setAllItems(v);\r
         }\r
         return iCheckBoxList;\r
index 0d482e83e39ecae910935b954cbe23474c672798..433c2d3d4cf4dcd57ee4bd15eb78f13206a96c8a 100644 (file)
 \r
 package org.tianocore.frameworkwizard.packaging.ui;\r
 \r
-import java.awt.Rectangle;\r
 import java.awt.event.ActionEvent;\r
 import java.awt.event.ComponentEvent;\r
 import java.awt.event.FocusAdapter;\r
 import java.awt.event.FocusEvent;\r
 \r
 import javax.swing.JButton;\r
+import javax.swing.JFrame;\r
 import javax.swing.JLabel;\r
+import javax.swing.JOptionPane;\r
 import javax.swing.JPanel;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JTextArea;\r
@@ -52,6 +53,8 @@ public class SpdHeader extends IInternalFrame {
     //\r
     //Define class members\r
     //\r
+    static JFrame frame;\r
+    \r
     private JPanel jContentPane = null;\r
 \r
     private JLabel jLabelBaseName = null;\r
@@ -133,6 +136,10 @@ public class SpdHeader extends IInternalFrame {
             jTextFieldBaseName.setPreferredSize(new java.awt.Dimension(320,20));\r
             jTextFieldBaseName.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e){\r
+                    if (!DataValidation.isUiNameType(jTextFieldBaseName.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Package Name is NOT UiNameType.");\r
+                        return;\r
+                    }\r
                     sfc.setSpdHdrPkgName(jTextFieldBaseName.getText());\r
                 }\r
             });\r
@@ -153,6 +160,10 @@ public class SpdHeader extends IInternalFrame {
             jTextFieldGuid.setPreferredSize(new java.awt.Dimension(250,20));\r
             jTextFieldGuid.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e){\r
+                    if (!DataValidation.isGuid(jTextFieldGuid.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Guid is NOT GuidType.");\r
+                        return;\r
+                    }\r
                     sfc.setSpdHdrGuidValue(jTextFieldGuid.getText());\r
                 }\r
             });\r
@@ -173,6 +184,10 @@ public class SpdHeader extends IInternalFrame {
             jTextFieldVersion.setPreferredSize(new java.awt.Dimension(320,20));\r
             jTextFieldVersion.addFocusListener(new FocusAdapter(){\r
                public void focusLost(FocusEvent e){\r
+                   if (!DataValidation.isVersion(jTextFieldVersion.getText())) {\r
+                       JOptionPane.showMessageDialog(frame, "Version is NOT version type.");\r
+                       return;\r
+                   }\r
                    sfc.setSpdHdrVer(jTextFieldVersion.getText());\r
                } \r
             });\r
@@ -210,6 +225,10 @@ public class SpdHeader extends IInternalFrame {
             jTextAreaLicense.setLineWrap(true);\r
             jTextAreaLicense.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e){\r
+                    if (jTextAreaLicense.getText().length() == 0) {\r
+                        JOptionPane.showMessageDialog(frame, "License contents could NOT be empty.");\r
+                        return;\r
+                    }\r
                     sfc.setSpdHdrLicense(jTextAreaLicense.getText());\r
                 }\r
             });\r
@@ -230,6 +249,10 @@ public class SpdHeader extends IInternalFrame {
             jTextAreaDescription.setPreferredSize(new java.awt.Dimension(317,77));\r
             jTextAreaDescription.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e){\r
+                    if (jTextAreaDescription.getText().length() == 0) {\r
+                        JOptionPane.showMessageDialog(frame, "Description contents could NOT be empty.");\r
+                        return;\r
+                    }\r
                     sfc.setSpdHdrDescription(jTextAreaDescription.getText());\r
                 }\r
             });\r
@@ -338,6 +361,10 @@ public class SpdHeader extends IInternalFrame {
             jTextFieldAbstract.setPreferredSize(new java.awt.Dimension(320, 20));\r
             jTextFieldAbstract.addFocusListener(new FocusAdapter(){\r
                 public void focusLost(FocusEvent e){\r
+                    if (!DataValidation.isAbstract(jTextFieldAbstract.getText())) {\r
+                        JOptionPane.showMessageDialog(frame, "Abstract could NOT be empty.");\r
+                        return;\r
+                    }\r
                     sfc.setSpdHdrAbs(jTextFieldAbstract.getText());\r
                 }\r
             });\r
@@ -358,6 +385,10 @@ public class SpdHeader extends IInternalFrame {
             jTextFieldCopyright.setPreferredSize(new java.awt.Dimension(320,20));\r
             jTextFieldCopyright.addFocusListener(new FocusAdapter(){\r
                public void focusLost(FocusEvent e){\r
+                   if (!DataValidation.isCopyright(jTextFieldCopyright.getText())) {\r
+                       JOptionPane.showMessageDialog(frame, "Copyright contents could not be empty.");\r
+                       return;\r
+                   }\r
                    sfc.setSpdHdrCopyright(jTextFieldCopyright.getText());\r
                } \r
             });\r
@@ -666,6 +697,7 @@ public class SpdHeader extends IInternalFrame {
                resizeComponentWidth(this.jTextFieldBaseName, intCurrentWidth,intPreferredWidth);\r
                resizeComponentWidth(this.jTextFieldGuid, intCurrentWidth,intPreferredWidth);\r
                resizeComponentWidth(this.jTextFieldVersion, intCurrentWidth,intPreferredWidth);\r
+        resizeComponentWidth(this.jTextField, intCurrentWidth,intPreferredWidth);\r
                resizeComponentWidth(this.jScrollPaneLicense, intCurrentWidth,intPreferredWidth);\r
                resizeComponentWidth(this.jTextFieldCopyright, intCurrentWidth,intPreferredWidth);\r
                resizeComponentWidth(this.jScrollPaneDescription, intCurrentWidth,intPreferredWidth);\r
index fd5c552720cc0847799574cb4b9a8d7e8ebf3dd4..32596fe639091c9ee9142e0a50f8b813a49e2ea5 100644 (file)
@@ -12,20 +12,13 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 **/\r
 package org.tianocore.frameworkwizard.packaging.ui;\r
 \r
-import java.awt.BorderLayout;\r
 import java.awt.Dimension;\r
-import java.awt.Toolkit;\r
 import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
 import java.awt.event.ComponentEvent;\r
-import java.awt.event.FocusAdapter;\r
-import java.awt.event.FocusEvent;\r
-import java.awt.event.FocusListener;\r
 import java.io.File;\r
 import java.util.Vector;\r
 \r
 import javax.swing.AbstractAction;\r
-import javax.swing.DefaultListModel;\r
 import javax.swing.JFileChooser;\r
 import javax.swing.JOptionPane;\r
 import javax.swing.JPanel;\r
@@ -34,7 +27,6 @@ import javax.swing.JTable;
 import javax.swing.JTextField;\r
 import javax.swing.JComboBox;\r
 import javax.swing.JLabel;\r
-import javax.swing.JList;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JButton;\r
 import javax.swing.JFrame;\r
@@ -49,11 +41,12 @@ import javax.swing.table.DefaultTableModel;
 import javax.swing.table.TableModel;\r
 \r
 import org.tianocore.PackageSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.common.DataType;\r
+import org.tianocore.frameworkwizard.common.DataValidation;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;\r
+import org.tianocore.frameworkwizard.platform.ui.ListEditor;\r
 \r
 import javax.swing.JCheckBox;\r
 \r
@@ -63,6 +56,11 @@ import javax.swing.JCheckBox;
  @since PackageEditor 1.0\r
 **/\r
 public class SpdLibClassDecls extends IInternalFrame implements TableModelListener{\r
+    /**\r
+     * \r
+     */\r
+    private static final long serialVersionUID = 1L;\r
+\r
     static JFrame frame;\r
     \r
     private JTable jTable = null;\r
@@ -87,8 +85,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
 \r
     private JButton jButtonClearAll = null;\r
 \r
-    private JButton jButtonCancel = null;\r
-\r
     private JButton jButtonOk = null;\r
 \r
     private JLabel jLabel = null;\r
@@ -139,6 +135,10 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     \r
     private ICheckBoxList iCheckBoxListArch = null;\r
 \r
+    private JCheckBox jCheckBox4 = null;\r
+\r
+    private JCheckBox jCheckBox5 = null;\r
+\r
     /**\r
       This method initializes this\r
      \r
@@ -191,7 +191,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JTextField getJTextFieldAdd() {\r
         if (jTextFieldAdd == null) {\r
             jTextFieldAdd = new JTextField();\r
-            jTextFieldAdd.setBounds(new java.awt.Rectangle(122,6,343,20));\r
+            jTextFieldAdd.setBounds(new java.awt.Rectangle(122,6,390,20));\r
             jTextFieldAdd.setPreferredSize(new java.awt.Dimension(260,20));\r
             jTextFieldAdd.setEnabled(true);\r
         }\r
@@ -222,7 +222,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JScrollPane getJScrollPane() {\r
         if (jScrollPane == null) {\r
             jScrollPane = new JScrollPane();\r
-            jScrollPane.setBounds(new java.awt.Rectangle(12,302,351,164));\r
+            jScrollPane.setBounds(new java.awt.Rectangle(12,351,608,139));\r
             jScrollPane.setPreferredSize(new java.awt.Dimension(330,150));\r
             jScrollPane.setViewportView(getJTable());\r
         }\r
@@ -247,6 +247,30 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
            model.addColumn("InstanceVersion");\r
            model.addColumn("SupportedArch");\r
            model.addColumn("SupportedModule");\r
+           \r
+           Vector<String> vArch = new Vector<String>();\r
+           vArch.add("IA32");\r
+           vArch.add("X64");\r
+           vArch.add("IPF");\r
+           vArch.add("EBC");\r
+           vArch.add("ARM");\r
+           vArch.add("PPC");\r
+           jTable.getColumnModel().getColumn(5).setCellEditor(new ListEditor(vArch));\r
+           \r
+           Vector<String> vModule = new Vector<String>();\r
+           vModule.add("BASE");\r
+           vModule.add("SEC");\r
+           vModule.add("PEI_CORE");\r
+           vModule.add("PEIM");\r
+           vModule.add("DXE_CORE");\r
+           vModule.add("DXE_DRIVER");\r
+           vModule.add("DXE_RUNTIME_DRIVER");\r
+           vModule.add("DXE_SAL_DRIVER");\r
+           vModule.add("DXE_SMM_DRIVER");\r
+           vModule.add("UEFI_DRIVER");\r
+           vModule.add("UEFI_APPLICATION");\r
+           vModule.add("USER_DEFINED");\r
+           jTable.getColumnModel().getColumn(6).setCellEditor(new ListEditor(vModule));\r
           \r
            jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
            jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
@@ -289,6 +313,10 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             if (m.getValueAt(row, 6) != null) {\r
                 module = m.getValueAt(row, 6).toString();\r
             }\r
+            String[] rowData = {lib, hdr, hlp};\r
+            if (!dataValidation(rowData)) {\r
+                return;\r
+            }\r
             sfc.updateSpdLibClass(row, lib, hdr, hlp, guid, ver, arch, module);\r
         }\r
     }\r
@@ -301,8 +329,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JButton getJButtonAdd() {\r
         if (jButtonAdd == null) {\r
             jButtonAdd = new JButton();\r
-            jButtonAdd.setBounds(new java.awt.Rectangle(374,303,90,20));\r
             jButtonAdd.setText("Add");\r
+            jButtonAdd.setSize(new java.awt.Dimension(80,20));\r
+            jButtonAdd.setLocation(new java.awt.Point(365,315));\r
             jButtonAdd.addActionListener(this);\r
         }\r
         return jButtonAdd;\r
@@ -316,8 +345,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JButton getJButtonRemove() {\r
         if (jButtonRemove == null) {\r
             jButtonRemove = new JButton();\r
-            jButtonRemove.setBounds(new java.awt.Rectangle(374,381,90,20));\r
             jButtonRemove.setText("Remove");\r
+            jButtonRemove.setSize(new java.awt.Dimension(80,20));\r
+            jButtonRemove.setLocation(new java.awt.Point(449,315));\r
             jButtonRemove.addActionListener(this);\r
         }\r
         return jButtonRemove;\r
@@ -331,31 +361,14 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JButton getJButtonClearAll() {\r
         if (jButtonClearAll == null) {\r
             jButtonClearAll = new JButton();\r
-            jButtonClearAll.setBounds(new java.awt.Rectangle(374,411,90,20));\r
             jButtonClearAll.setText("Clear All");\r
+            jButtonClearAll.setSize(new java.awt.Dimension(86,20));\r
+            jButtonClearAll.setLocation(new java.awt.Point(536,315));\r
             jButtonClearAll.addActionListener(this);\r
         }\r
         return jButtonClearAll;\r
     }\r
 \r
-    /**\r
-      This method initializes jButtonCancel    \r
-       \r
-      @return javax.swing.JButton      \r
-     **/\r
-    private JButton getJButtonCancel() {\r
-        if (jButtonCancel == null) {\r
-            jButtonCancel = new JButton();\r
-            jButtonCancel.setPreferredSize(new java.awt.Dimension(90, 20));\r
-            jButtonCancel.setLocation(new java.awt.Point(390, 305));\r
-            jButtonCancel.setText("Cancel");\r
-            jButtonCancel.setSize(new java.awt.Dimension(90, 20));\r
-            jButtonCancel.setVisible(false);\r
-            jButtonCancel.addActionListener(this);\r
-        }\r
-        return jButtonCancel;\r
-    }\r
-\r
     /**\r
       This method initializes jButton  \r
        \r
@@ -427,7 +440,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JScrollPane getJContentPane(){\r
         if (topScrollPane == null){\r
           topScrollPane = new JScrollPane();\r
-          topScrollPane.setSize(new java.awt.Dimension(483,500));\r
+          topScrollPane.setSize(new java.awt.Dimension(634,500));\r
           topScrollPane.setViewportView(getJContentPane1());\r
         }\r
         return topScrollPane;\r
@@ -448,11 +461,11 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jLabel5.setText("Supported Arch");\r
             jLabel5.setEnabled(true);\r
             jLabel4 = new JLabel();\r
-            jLabel4.setBounds(new java.awt.Rectangle(16,160,196,16));\r
+            jLabel4.setBounds(new java.awt.Rectangle(16,138,196,16));\r
             jLabel4.setEnabled(true);\r
             jLabel4.setText("Recommended Instance Version");\r
             jLabel3 = new JLabel();\r
-            jLabel3.setBounds(new java.awt.Rectangle(17,112,175,16));\r
+            jLabel3.setBounds(new java.awt.Rectangle(17,112,195,16));\r
             jLabel3.setEnabled(true);\r
             jLabel3.setText("Recommended Instance GUID");\r
             jLabel2 = new JLabel();\r
@@ -466,9 +479,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jStarLabel1 = new StarLabel();\r
             jStarLabel1.setLocation(new java.awt.Point(1,7));\r
             jStarLabel2 = new StarLabel();\r
-            jStarLabel2.setLocation(new java.awt.Point(1,56));\r
+            jStarLabel2.setLocation(new java.awt.Point(-1,74));\r
             jLabel = new JLabel();\r
-            jLabel.setBounds(new java.awt.Rectangle(16,56,199,22));\r
+            jLabel.setBounds(new java.awt.Rectangle(14,74,199,22));\r
             jLabel.setText("Include Header for Specified Class");\r
             \r
             jContentPane = new JPanel();\r
@@ -485,7 +498,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jContentPane.add(getJButtonAdd(), null);\r
             jContentPane.add(getJButtonRemove(), null);\r
             jContentPane.add(getJButtonClearAll(), null);\r
-            jContentPane.add(getJButtonCancel(), null);\r
             jContentPane.add(getJButtonOk(), null);\r
             \r
             jContentPane.add(getJTextField(), null);\r
@@ -506,6 +518,8 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jContentPane.add(jLabel6, null);\r
             \r
             jContentPane.add(getJScrollPaneArch(), null);\r
+            jContentPane.add(getJCheckBox4(), null);\r
+            jContentPane.add(getJCheckBox5(), null);\r
         }\r
         \r
         return jContentPane;\r
@@ -565,9 +579,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             this.dispose();\r
 \r
         }\r
-        if (arg0.getSource() == jButtonCancel) {\r
-            this.dispose();\r
-        }\r
 \r
         if (arg0.getSource() == jButtonAdd) {\r
             \r
@@ -576,7 +587,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             row[0] = jTextFieldAdd.getText();\r
             row[1] = jTextField.getText().replace('\\', '/');\r
             row[2] = jTextFieldHelp.getText();\r
-            row[5] = booleanToString(jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected());\r
+            row[5] = booleanToString(jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected(), jCheckBox5.isSelected());\r
             if (row[5].length() == 0){\r
                 row[5] = null;\r
             }\r
@@ -584,6 +595,9 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             if (row[6].length() == 0){\r
                 row[6] = null;\r
             }\r
+            if (!dataValidation(row)) {\r
+                return;\r
+            }\r
             model.addRow(row);\r
             sfc.genSpdLibClassDeclarations(row[0], row[3], row[1], row[2], row[5], null, null, row[4], null, row[6]);\r
             \r
@@ -638,7 +652,19 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         }\r
     }\r
 \r
-    \r
+    private boolean dataValidation(String[] row) {\r
+        if (!DataValidation.isKeywordType(row[0])) {\r
+            JOptionPane.showMessageDialog(frame, "Library Class is NOT KeyWord Type.");\r
+            return false;\r
+        }\r
+        if (!DataValidation.isPathAndFilename(row[1])) {\r
+            JOptionPane.showMessageDialog(frame, "Include Header is NOT PathAndFilename Type.");\r
+        }\r
+        if (row[2].length() == 0) {\r
+            JOptionPane.showMessageDialog(frame, "HelpText could NOT be empty.");\r
+        }\r
+        return true;\r
+    }\r
     /**\r
      Add contents in list to sfc\r
     **/\r
@@ -654,7 +680,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JTextField getJTextField() {\r
         if (jTextField == null) {\r
             jTextField = new JTextField();\r
-            jTextField.setBounds(new java.awt.Rectangle(16,83,346,21));\r
+            jTextField.setBounds(new java.awt.Rectangle(221,75,290,21));\r
             jTextField.setPreferredSize(new java.awt.Dimension(260,20));\r
         }\r
         return jTextField;\r
@@ -668,11 +694,16 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JButton getJButtonBrowse() {\r
         if (jButtonBrowse == null) {\r
             jButtonBrowse = new JButton();\r
-            jButtonBrowse.setBounds(new java.awt.Rectangle(376,82,90,20));\r
+            jButtonBrowse.setBounds(new java.awt.Rectangle(528,75,90,20));\r
             jButtonBrowse.setText("Browse");\r
             jButtonBrowse.setPreferredSize(new java.awt.Dimension(80,20));\r
             jButtonBrowse.addActionListener(new AbstractAction() {\r
                 \r
+                /**\r
+                 * \r
+                 */\r
+                private static final long serialVersionUID = 1L;\r
+\r
                 public void actionPerformed(ActionEvent arg0) {\r
                     //\r
                     // Select files from current pkg\r
@@ -718,10 +749,6 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth);\r
         resizeComponentWidth(this.jTextFieldHelp, this.getWidth(), intPreferredWidth);\r
         resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);\r
-        relocateComponentX(this.jButtonBrowse, this.getWidth(), this.getPreferredSize().width,25);\r
-        relocateComponentX(this.jButtonClearAll, this.getWidth(), this.getPreferredSize().width,25);\r
-        relocateComponentX(this.jButtonRemove, this.getWidth(), this.getPreferredSize().width,25);\r
-        relocateComponentX(this.jButtonAdd, this.getWidth(), this.getPreferredSize().width,50);\r
         \r
     }\r
     /**\r
@@ -732,7 +759,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JTextField getJTextFieldHelp() {\r
         if (jTextFieldHelp == null) {\r
             jTextFieldHelp = new JTextField();\r
-            jTextFieldHelp.setBounds(new java.awt.Rectangle(122,33,343,20));\r
+            jTextFieldHelp.setBounds(new java.awt.Rectangle(122,33,390,20));\r
             jTextFieldHelp.setPreferredSize(new java.awt.Dimension(260,20));\r
         }\r
         return jTextFieldHelp;\r
@@ -746,7 +773,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JTextField getJTextField1() {\r
         if (jTextField1 == null) {\r
             jTextField1 = new JTextField();\r
-            jTextField1.setBounds(new java.awt.Rectangle(16,135,344,20));\r
+            jTextField1.setBounds(new java.awt.Rectangle(220,110,291,20));\r
             jTextField1.setEnabled(true);\r
         }\r
         return jTextField1;\r
@@ -760,7 +787,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JTextField getJTextField2() {\r
         if (jTextField2 == null) {\r
             jTextField2 = new JTextField();\r
-            jTextField2.setBounds(new java.awt.Rectangle(16,184,344,20));\r
+            jTextField2.setBounds(new java.awt.Rectangle(218,135,292,20));\r
             jTextField2.setEnabled(true);\r
         }\r
         return jTextField2;\r
@@ -789,7 +816,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JCheckBox getJCheckBox1() {\r
         if (jCheckBox1 == null) {\r
             jCheckBox1 = new JCheckBox();\r
-            jCheckBox1.setBounds(new java.awt.Rectangle(197,213,49,20));\r
+            jCheckBox1.setBounds(new java.awt.Rectangle(182,213,49,20));\r
             jCheckBox1.setText("X64");\r
             jCheckBox1.setPreferredSize(new java.awt.Dimension(21,20));\r
         }\r
@@ -806,7 +833,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             jCheckBox2 = new JCheckBox();\r
             jCheckBox2.setText("IPF");\r
             jCheckBox2.setSize(new java.awt.Dimension(50,20));\r
-            jCheckBox2.setLocation(new java.awt.Point(258,213));\r
+            jCheckBox2.setLocation(new java.awt.Point(237,213));\r
             jCheckBox2.setPreferredSize(new java.awt.Dimension(21,20));\r
         }\r
         return jCheckBox2;\r
@@ -820,7 +847,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JCheckBox getJCheckBox3() {\r
         if (jCheckBox3 == null) {\r
             jCheckBox3 = new JCheckBox();\r
-            jCheckBox3.setBounds(new java.awt.Rectangle(319,213,59,20));\r
+            jCheckBox3.setBounds(new java.awt.Rectangle(286,213,50,20));\r
             jCheckBox3.setText("EBC");\r
             jCheckBox3.setPreferredSize(new java.awt.Dimension(21,20));\r
         }\r
@@ -830,7 +857,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
     private JScrollPane getJScrollPaneArch() {\r
         if (jScrollPaneArch == null) {\r
             jScrollPaneArch = new JScrollPane();\r
-            jScrollPaneArch.setBounds(new java.awt.Rectangle(130,252,230,45));\r
+            jScrollPaneArch.setBounds(new java.awt.Rectangle(130,252,230,88));\r
             jScrollPaneArch.setPreferredSize(new java.awt.Dimension(320, 80));\r
             jScrollPaneArch.setViewportView(getICheckBoxListSupportedArchitectures());\r
         }\r
@@ -858,7 +885,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         return iCheckBoxListArch;\r
     }\r
     \r
-    private String booleanToString(boolean b1, boolean b2, boolean b3, boolean b4){\r
+    private String booleanToString(boolean b1, boolean b2, boolean b3, boolean b4, boolean b5, boolean b6){\r
         String s = " ";\r
         if (b1){\r
             s += "IA32 ";\r
@@ -872,6 +899,12 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         if (b4){\r
             s += "EBC ";\r
         }\r
+        if (b5){\r
+            s += "ARM ";\r
+        }\r
+        if (b6){\r
+            s += "PPC ";\r
+        }\r
         return s.trim();\r
     }\r
     \r
@@ -883,6 +916,36 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         }\r
         return s.trim();\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.setBounds(new java.awt.Rectangle(343,213,60,20));\r
+            jCheckBox4.setText("ARM");\r
+            jCheckBox4.setPreferredSize(new Dimension(60, 20));\r
+        }\r
+        return jCheckBox4;\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.setBounds(new java.awt.Rectangle(400,213,60,20));\r
+            jCheckBox5.setText("PPC");\r
+            jCheckBox5.setPreferredSize(new Dimension(60, 20));\r
+        }\r
+        return jCheckBox5;\r
+    }\r
+\r
     public static void main(String[] args){\r
         new SpdLibClassDecls().setVisible(true);\r
     }\r
index f21ddd716c49c878523107cfd834fc0865528c81..09cb0f704f994dbe9b33941987c129d8c7d85e01 100644 (file)
@@ -12,26 +12,18 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 **/\r
 package org.tianocore.frameworkwizard.packaging.ui;\r
 \r
-import java.awt.BorderLayout;\r
 import java.awt.Dimension;\r
-import java.awt.Toolkit;\r
 import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
 import java.awt.event.ComponentEvent;\r
 import java.io.File;\r
-import java.util.Vector;\r
 \r
 import javax.swing.AbstractAction;\r
-import javax.swing.DefaultListModel;\r
 import javax.swing.JFileChooser;\r
 import javax.swing.JOptionPane;\r
 import javax.swing.JPanel;\r
-import javax.swing.JRadioButton;\r
 import javax.swing.JTable;\r
 import javax.swing.JTextField;\r
-import javax.swing.JComboBox;\r
 import javax.swing.JLabel;\r
-import javax.swing.JList;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JButton;\r
 import javax.swing.JFrame;\r
@@ -46,7 +38,6 @@ import javax.swing.table.DefaultTableModel;
 import javax.swing.table.TableModel;\r
 \r
 import org.tianocore.PackageSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.common.DataType;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
@@ -57,6 +48,11 @@ import org.tianocore.frameworkwizard.common.ui.StarLabel;
  @since PackageEditor 1.0\r
 **/\r
 public class SpdMsaFiles extends IInternalFrame implements TableModelListener{\r
+    /**\r
+     * \r
+     */\r
+    private static final long serialVersionUID = 1L;\r
+\r
     static JFrame frame;\r
     \r
     private JScrollPane jScrollPane = null;  //  @jve:decl-index=0:visual-constraint="10,95"\r
@@ -340,7 +336,10 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{
         if (arg0.getSource() == jButtonAdd) {\r
             //ToDo: check before add\r
             String[] row = {jTextField.getText().replace('\\', '/')};\r
-           \r
+            if (jTextField.getText().length() == 0) {\r
+                JOptionPane.showMessageDialog(this, "Msa File is NOT PathAndFilename type.");\r
+                return;\r
+            }\r
             model.addRow(row);\r
             sfc.genSpdMsaFiles(row[0], null, null, null);\r
         }\r
@@ -374,7 +373,10 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{
         TableModel m = (TableModel)arg0.getSource();\r
         if (arg0.getType() == TableModelEvent.UPDATE){\r
             String file = m.getValueAt(row, 0) + "";\r
-\r
+            if (file.length() == 0) {\r
+                JOptionPane.showMessageDialog(this, "Msa File is NOT PathAndFilename type.");\r
+                return;\r
+            }\r
             sfc.updateSpdMsaFile(row, file, null, null, null);\r
         }\r
     }\r
@@ -412,6 +414,11 @@ public class SpdMsaFiles extends IInternalFrame implements TableModelListener{
             jButtonBrowse.setText("Browse");\r
             jButtonBrowse.setPreferredSize(new java.awt.Dimension(90,20));\r
             jButtonBrowse.addActionListener(new AbstractAction() {\r
+                /**\r
+                 * \r
+                 */\r
+                private static final long serialVersionUID = 1L;\r
+\r
                 public void actionPerformed(ActionEvent e) {\r
                     //\r
                     // Select files from current workspace\r
index 7df0d35e5f88f9cd562369772ae57cbadb3f5faf..e4188930fe0a51fa9b634afcc56d760fac1b6735 100644 (file)
@@ -15,7 +15,6 @@
 package org.tianocore.frameworkwizard.packaging.ui;\r
 \r
 import javax.swing.JPanel;\r
-import javax.swing.JDialog;\r
 import javax.swing.JLabel;\r
 import javax.swing.JComboBox;\r
 import java.awt.Dimension;\r
@@ -26,6 +25,10 @@ import org.tianocore.frameworkwizard.common.ui.StarLabel;
 \r
 public class SpdPackageDefinitions extends IInternalFrame {\r
 \r
+    /**\r
+     * \r
+     */\r
+    private static final long serialVersionUID = 1L;\r
     private JPanel jContentPane = null;\r
     private JLabel jLabel = null;\r
     private JComboBox jComboBoxReadOnly = null;\r
@@ -113,8 +116,8 @@ public class SpdPackageDefinitions extends IInternalFrame {
             jComboBoxReadOnly = new JComboBox();\r
             jComboBoxReadOnly.setBounds(new java.awt.Rectangle(95,22,117,20));\r
             jComboBoxReadOnly.setPreferredSize(new Dimension(80, 20));\r
-            jComboBoxReadOnly.addItem("TRUE");\r
-            jComboBoxReadOnly.addItem("FALSE");\r
+            jComboBoxReadOnly.addItem("true");\r
+            jComboBoxReadOnly.addItem("false");\r
             jComboBoxReadOnly.setSelectedIndex(1);\r
             jComboBoxReadOnly.addItemListener(new java.awt.event.ItemListener() {\r
                 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
@@ -135,8 +138,8 @@ public class SpdPackageDefinitions extends IInternalFrame {
             jComboBoxRePackage = new JComboBox();\r
             jComboBoxRePackage.setBounds(new java.awt.Rectangle(95,62,116,20));\r
             jComboBoxRePackage.setPreferredSize(new Dimension(80, 20));\r
-            jComboBoxRePackage.addItem("FALSE");\r
-            jComboBoxRePackage.addItem("TRUE");\r
+            jComboBoxRePackage.addItem("false");\r
+            jComboBoxRePackage.addItem("true");\r
             jComboBoxRePackage.setSelectedIndex(0);\r
             jComboBoxRePackage.addItemListener(new java.awt.event.ItemListener() {\r
                 public void itemStateChanged(java.awt.event.ItemEvent e) {\r
index 9deba4c4dda8b0b8880dc387fbf564a0654fbc0d..de9106987251df6543afe1e1848640517b05b094 100644 (file)
@@ -12,17 +12,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 **/\r
 package org.tianocore.frameworkwizard.packaging.ui;\r
 \r
-import java.awt.BorderLayout;\r
 import java.awt.Dimension;\r
-import java.awt.Toolkit;\r
 import java.awt.event.ActionEvent;\r
-import java.awt.event.ActionListener;\r
 import java.awt.event.ComponentEvent;\r
 import java.io.File;\r
-import java.util.Vector;\r
 \r
 import javax.swing.DefaultCellEditor;\r
-import javax.swing.DefaultListModel;\r
 import javax.swing.JFileChooser;\r
 import javax.swing.JOptionPane;\r
 import javax.swing.JPanel;\r
@@ -31,7 +26,6 @@ import javax.swing.JTable;
 import javax.swing.JTextField;\r
 import javax.swing.JComboBox;\r
 import javax.swing.JLabel;\r
-import javax.swing.JList;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JButton;\r
 import javax.swing.JFrame;\r
@@ -47,7 +41,7 @@ import javax.swing.table.TableColumn;
 import javax.swing.table.TableModel;\r
 \r
 import org.tianocore.PackageSurfaceAreaDocument;\r
-import org.tianocore.frameworkwizard.common.DataType;\r
+import org.tianocore.frameworkwizard.common.DataValidation;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
@@ -58,6 +52,11 @@ import org.tianocore.frameworkwizard.common.ui.StarLabel;
  @since PackageEditor 1.0\r
 **/\r
 public class SpdPackageHeaders extends IInternalFrame implements TableModelListener{\r
+    /**\r
+     * \r
+     */\r
+    private static final long serialVersionUID = 1L;\r
+\r
     static JFrame frame;\r
     \r
     private SpdFileContents sfc = null;\r
@@ -66,12 +65,8 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
 \r
     private JPanel jContentPane = null;\r
 \r
-    private JRadioButton jRadioButtonAdd = null;\r
-\r
     private JRadioButton jRadioButtonSelect = null;\r
 \r
-    private JTextField jTextFieldAdd = null;\r
-\r
     private JComboBox jComboBoxSelect = null;\r
 \r
     private JButton jButtonAdd = null;\r
@@ -114,23 +109,6 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
 \r
     }\r
 \r
-    /**\r
-      This method initializes jRadioButtonAdd  \r
-       \r
-      @return javax.swing.JRadioButton \r
-     **/\r
-    private JRadioButton getJRadioButtonAdd() {\r
-        if (jRadioButtonAdd == null) {\r
-            jRadioButtonAdd = new JRadioButton();\r
-            jRadioButtonAdd.setBounds(new java.awt.Rectangle(9,35,197,20));\r
-            jRadioButtonAdd.setText("Add a new ModuleType");\r
-            jRadioButtonAdd.setEnabled(false);\r
-            jRadioButtonAdd.addActionListener(this);\r
-            jRadioButtonAdd.setSelected(false);\r
-        }\r
-        return jRadioButtonAdd;\r
-    }\r
-\r
     /**\r
       This method initializes jRadioButtonSelect       \r
        \r
@@ -147,21 +125,6 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         return jRadioButtonSelect;\r
     }\r
 \r
-    /**\r
-      This method initializes jTextFieldAdd    \r
-       \r
-      @return javax.swing.JTextField   \r
-     **/\r
-    private JTextField getJTextFieldAdd() {\r
-        if (jTextFieldAdd == null) {\r
-            jTextFieldAdd = new JTextField();\r
-            jTextFieldAdd.setBounds(new java.awt.Rectangle(220, 35, 260, 20));\r
-            jTextFieldAdd.setPreferredSize(new java.awt.Dimension(260,20));\r
-            jTextFieldAdd.setEnabled(false);\r
-        }\r
-        return jTextFieldAdd;\r
-    }\r
-\r
     /**\r
       This method initializes jComboBoxSelect  \r
        \r
@@ -350,9 +313,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
             jContentPane.add(jLabel, null);\r
             jContentPane.add(jStarLabel1, null);\r
             jContentPane.add(jStarLabel2, null);\r
-            jContentPane.add(getJRadioButtonAdd(), null);\r
             jContentPane.add(getJRadioButtonSelect(), null);\r
-            jContentPane.add(getJTextFieldAdd(), null);\r
             jContentPane.add(getJComboBoxSelect(), null);\r
             jContentPane.add(getJButtonAdd(), null);\r
             jContentPane.add(getJButtonRemove(), null);\r
@@ -402,9 +363,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
 \r
         if (arg0.getSource() == jButtonAdd) {\r
             String strLibClass = "";\r
-            if (jRadioButtonAdd.isSelected()) {\r
-                strLibClass = jTextFieldAdd.getText();\r
-            }\r
+            \r
             if (jRadioButtonSelect.isSelected()) {\r
                 strLibClass = jComboBoxSelect.getSelectedItem().toString();\r
             }\r
@@ -412,6 +371,9 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
             String[] row = {"", ""};\r
             row[0] = strLibClass;\r
             row[1] = jTextField.getText().replace('\\', '/');\r
+            if (!dataValidation(row)) {\r
+                return;\r
+            }\r
             model.addRow(row);\r
             sfc.genSpdModuleHeaders(row[0], row[1], null, null, null, null, null, null);\r
         }\r
@@ -437,31 +399,15 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
             sfc.removeSpdPkgHeader();\r
         }\r
 \r
-        if (arg0.getSource() == jRadioButtonAdd) {\r
-            if (jRadioButtonAdd.isSelected()) {\r
-                jRadioButtonSelect.setSelected(false);\r
-                jTextFieldAdd.setEnabled(true);\r
-                jComboBoxSelect.setEnabled(false);\r
-            }\r
-            if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {\r
-                jRadioButtonAdd.setSelected(true);\r
-                jTextFieldAdd.setEnabled(true);\r
-                jComboBoxSelect.setEnabled(false);\r
-            }\r
-        }\r
-\r
-        if (arg0.getSource() == jRadioButtonSelect) {\r
-            if (jRadioButtonSelect.isSelected()) {\r
-                jRadioButtonAdd.setSelected(false);\r
-                jTextFieldAdd.setEnabled(false);\r
-                jComboBoxSelect.setEnabled(true);\r
-            }\r
-            if (!jRadioButtonSelect.isSelected() && !jRadioButtonAdd.isSelected()) {\r
-                jRadioButtonSelect.setSelected(true);\r
-                jTextFieldAdd.setEnabled(false);\r
-                jComboBoxSelect.setEnabled(true);\r
-            }\r
+    }\r
+    \r
+    private boolean dataValidation(String[] row) {\r
+        if (!DataValidation.isPathAndFilename(row[1])) {\r
+            JOptionPane.showMessageDialog(this, "Include header path is NOT PathAndFilename type.");\r
+            return false;\r
         }\r
+        \r
+        return true;\r
     }\r
 \r
     /**\r
@@ -497,6 +443,11 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
             jButtonBrowse.setText("Browse");\r
             jButtonBrowse.setPreferredSize(new java.awt.Dimension(92,20));\r
             jButtonBrowse.addActionListener(new javax.swing.AbstractAction() {\r
+                /**\r
+                 * \r
+                 */\r
+                private static final long serialVersionUID = 1L;\r
+\r
                 public void actionPerformed(ActionEvent e) {\r
                     //\r
                     // Select files from current workspace\r
@@ -558,6 +509,7 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         if (jTable == null) {\r
             model = new DefaultTableModel();\r
             jTable = new JTable(model);\r
+            jTable.setRowHeight(20);\r
             model.addColumn("ModuleType");\r
             model.addColumn("IncludeHeader");\r
             TableColumn typeColumn = jTable.getColumnModel().getColumn(0);\r
@@ -605,6 +557,10 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         if (arg0.getType() == TableModelEvent.UPDATE){\r
             String pkg = m.getValueAt(row, 0) + "";\r
             String hdr = m.getValueAt(row, 1) + "";\r
+            String[] rowData = {pkg, hdr};\r
+            if (!dataValidation(rowData)) {\r
+                return;\r
+            }\r
             sfc.updateSpdPkgHdr(row, pkg, hdr);\r
         }\r
     }\r
@@ -613,7 +569,6 @@ public class SpdPackageHeaders extends IInternalFrame implements TableModelListe
         int intPreferredWidth = 500;\r
         \r
         resizeComponentWidth(this.jComboBoxSelect, this.getWidth(), intPreferredWidth);\r
-        resizeComponentWidth(this.jTextFieldAdd, this.getWidth(), intPreferredWidth);\r
         resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
         resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);\r
         relocateComponentX(this.jButtonBrowse, this.getWidth(), this.getPreferredSize().width, 30);\r
index 019ced387937954a62ac22ac4978a2e2374f3229..f85e40b988e3e77041e80db936fa94ed9489c4e7 100644 (file)
@@ -38,12 +38,15 @@ import javax.swing.table.TableModel;
 \r
 import org.tianocore.PackageSurfaceAreaDocument;\r
 \r
+import org.tianocore.frameworkwizard.common.DataValidation;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JTable;\r
 import javax.swing.JCheckBox;\r
 import org.tianocore.frameworkwizard.common.ui.iCheckBoxList.ICheckBoxList;\r
+import org.tianocore.frameworkwizard.platform.ui.ListEditor;\r
+\r
 import java.awt.Rectangle;\r
 import java.util.Vector;\r
 \r
@@ -113,10 +116,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
 \r
     private JButton jButtonClearAll = null;\r
 \r
-    private JButton jButtonGen = null;\r
-    \r
-    private GenGuidDialog guidDialog = null;\r
-\r
     private JScrollPane jScrollPane = null;\r
 \r
     private JTable jTable = null;\r
@@ -403,7 +402,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
             jContentPane.add(getJButtonAdd(), null);\r
             jContentPane.add(getJButtonRemove(), null);\r
             jContentPane.add(getJButtonClearAll(), null);\r
-            jContentPane.add(getJButtonGen(), null);\r
             jContentPane.add(getJScrollPane(), null);\r
             jContentPane.add(starLabel, null);\r
             jContentPane.add(getJCheckBox(), null);\r
@@ -440,7 +438,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
             if (arg0.getSource() == jButtonOk) {\r
                 this.save();\r
                 this.dispose();\r
-\r
             }\r
             if (arg0.getSource() == jButtonCancel) {\r
                 this.dispose();\r
@@ -448,10 +445,10 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
 \r
             if (arg0.getSource() == jButtonAdd) {\r
                 //ToDo: check before add\r
-                if (!checkValid()) {\r
+                boolean[] b = {jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected()};\r
+                if (!checkValidUsage(b)) {\r
                     return;\r
                 }\r
-                \r
                 String archList = vectorToString(iCheckBoxList.getAllCheckedItemsString());\r
                 if (archList.length() == 0) {\r
                     archList = null;\r
@@ -466,7 +463,9 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
                                 jCheckBox.isSelected(), jCheckBox1.isSelected(),\r
                                 jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected(),\r
                                 archList, modTypeList};\r
-               \r
+                if (!dataValidation(row)) {\r
+                    return;\r
+                }\r
                 model.addRow(row);\r
                 \r
                 String usage = getValidUsage(jCheckBox.isSelected(), jCheckBox1.isSelected(), jCheckBox2.isSelected(), jCheckBox3.isSelected(), jCheckBox4.isSelected());\r
@@ -497,16 +496,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
                 sfc.removeSpdPcdDefinition();\r
             }\r
             \r
-            if (arg0.getSource() == jButtonGen) {\r
-                guidDialog = new GenGuidDialog(this);\r
-                guidDialog.setGuid(jTextFieldTsGuid.getText());\r
-                guidDialog.setVisible(true);\r
-            }\r
-            \r
-            if (arg0.getActionCommand().equals("GenGuidValue")) {\r
-                jTextFieldTsGuid.setText(guidDialog.getGuid());\r
-            }\r
-\r
     }\r
 \r
     protected void save() {\r
@@ -521,8 +510,9 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
     private JTextField getJTextFieldTsGuid() {\r
         if (jTextFieldTsGuid == null) {\r
             jTextFieldTsGuid = new JTextField();\r
-            jTextFieldTsGuid.setBounds(new java.awt.Rectangle(156,58,249,20));\r
-            jTextFieldTsGuid.setPreferredSize(new java.awt.Dimension(250,20));\r
+            jTextFieldTsGuid.setPreferredSize(new java.awt.Dimension(315,20));\r
+            jTextFieldTsGuid.setSize(new java.awt.Dimension(317,20));\r
+            jTextFieldTsGuid.setLocation(new java.awt.Point(156,58));\r
         }\r
         return jTextFieldTsGuid;\r
     }\r
@@ -604,22 +594,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
         return jButtonClearAll;\r
     }\r
 \r
-    /**\r
-     * This method initializes jButtonGen      \r
-     *         \r
-     * @return javax.swing.JButton     \r
-     */\r
-    private JButton getJButtonGen() {\r
-        if (jButtonGen == null) {\r
-            jButtonGen = new JButton();\r
-            jButtonGen.setBounds(new java.awt.Rectangle(414,57,58,20));\r
-            jButtonGen.setPreferredSize(new java.awt.Dimension(56,20));\r
-            jButtonGen.setText("Gen");\r
-            jButtonGen.addActionListener(this);\r
-        }\r
-        return jButtonGen;\r
-    }\r
-    \r
     public void componentResized(ComponentEvent arg0) {\r
         int intPreferredWidth = 500;\r
         \r
@@ -630,12 +604,10 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
         resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
         resizeComponentWidth(this.jScrollPane, this.getWidth(), intPreferredWidth);\r
         \r
-        resizeComponentWidth(this.jTextField, this.getWidth(), intPreferredWidth);\r
         resizeComponentWidth(this.jTextFieldDefaultValue, this.getWidth(), intPreferredWidth);\r
 //        relocateComponentX(this.jButtonClearAll, this.getWidth(), DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON);\r
 //        relocateComponentX(this.jButtonRemove, this.getWidth(), DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON);\r
 //        relocateComponentX(this.jButtonAdd, this.getWidth(), DataType.SPACE_TO_RIGHT_FOR_GENERATE_BUTTON);\r
-        relocateComponentX(this.jButtonGen, this.getWidth(), this.getPreferredSize().width, 30);\r
     }\r
 \r
     /**\r
@@ -661,6 +633,7 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
         if (jTable == null) {\r
             model = new CheckboxTableModel();\r
             jTable = new JTable(model);\r
+            jTable.setRowHeight(20);\r
             jTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);\r
             jTable.setSize(new Dimension(1000, 300));\r
             \r
@@ -678,7 +651,6 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
             model.addColumn("DynamicEx");\r
             model.addColumn("SupportedArch");\r
             model.addColumn("SupportedModule");\r
-            jTable.getColumnModel().getColumn(2).setCellEditor(new GuidEditor());\r
             \r
             //ToDo: add a valid usage editor\r
             \r
@@ -692,6 +664,30 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
             TableColumn dataTypeColumn = jTable.getColumnModel().getColumn(3);\r
             dataTypeColumn.setCellEditor(new DefaultCellEditor(jComboBoxDataType));\r
 \r
+            Vector<String> vArch = new Vector<String>();\r
+            vArch.add("IA32");\r
+            vArch.add("X64");\r
+            vArch.add("IPF");\r
+            vArch.add("EBC");\r
+            vArch.add("ARM");\r
+            vArch.add("PPC");\r
+            jTable.getColumnModel().getColumn(11).setCellEditor(new ListEditor(vArch));\r
+            \r
+            Vector<String> vModule = new Vector<String>();\r
+            vModule.add("BASE");\r
+            vModule.add("SEC");\r
+            vModule.add("PEI_CORE");\r
+            vModule.add("PEIM");\r
+            vModule.add("DXE_CORE");\r
+            vModule.add("DXE_DRIVER");\r
+            vModule.add("DXE_RUNTIME_DRIVER");\r
+            vModule.add("DXE_SAL_DRIVER");\r
+            vModule.add("DXE_SMM_DRIVER");\r
+            vModule.add("UEFI_DRIVER");\r
+            vModule.add("UEFI_APPLICATION");\r
+            vModule.add("USER_DEFINED");\r
+            jTable.getColumnModel().getColumn(12).setCellEditor(new ListEditor(vModule));\r
+            \r
             jTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);\r
             jTable.getSelectionModel().addListSelectionListener(new ListSelectionListener(){\r
                 public void valueChanged(ListSelectionEvent e) {\r
@@ -728,6 +724,14 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
             String usage = getValidUsage(new Boolean(m.getValueAt(row, 6)+""), new Boolean(m.getValueAt(row, 7)+""), new Boolean(m.getValueAt(row, 8)+""), new Boolean(m.getValueAt(row, 9)+""), new Boolean(m.getValueAt(row, 10)+""));\r
             String archList = vectorToString(iCheckBoxList.getAllCheckedItemsString());\r
             String modTypeList = vectorToString(iCheckBoxList1.getAllCheckedItemsString());\r
+            if (usage.length() == 0) {\r
+                JOptionPane.showMessageDialog(frame, "You must choose at least one usage for PCD entry.");\r
+                return;\r
+            }\r
+            Object[] o = {cName, token, ts, dataType, defaultVal, help};\r
+            if (!dataValidation(o)){\r
+                return;\r
+            }\r
             sfc.updateSpdPcdDefinition(row, cName, token, dataType, usage, ts, defaultVal, help, archList, modTypeList);\r
         }\r
     }\r
@@ -828,13 +832,34 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
         return usage.trim();\r
     }\r
     \r
-    private boolean checkValid() {\r
-        if (!(jCheckBox.isSelected() || jCheckBox1.isSelected() || jCheckBox2.isSelected() || jCheckBox3.isSelected() || jCheckBox4.isSelected())){\r
+    private boolean checkValidUsage(boolean[] b) {\r
+        if (!(b[0] || b[1] || b[2] || b[3] || b[4])){\r
             JOptionPane.showMessageDialog(frame, "You must specify at least one usage.");\r
             return false;\r
         }\r
         return true;\r
     }\r
+    private boolean dataValidation(Object[] row) {\r
+        \r
+        if (!DataValidation.isC_NameType(row[0].toString())) {\r
+            JOptionPane.showMessageDialog(frame, "C_Name is NOT C_NameType.");\r
+            return false;\r
+        }\r
+        if (!(DataValidation.isHexDoubleWordDataType(row[1].toString()) || \r
+                        DataValidation.isInt(row[1].toString(), 0, 0xffffffff))) {\r
+            JOptionPane.showMessageDialog(frame, "Token is NOT correct.");\r
+            return false;\r
+        }\r
+        if (!DataValidation.isC_NameType(row[2].toString())) {\r
+            JOptionPane.showMessageDialog(frame, "Token Space is NOT C_NameType");\r
+            return false;\r
+        }\r
+        if (row[5].toString().length() == 0) {\r
+            JOptionPane.showMessageDialog(frame, "HelpText could NOT be empty.");\r
+            return false;\r
+        }\r
+        return true;\r
+    }\r
 \r
     /**\r
      * This method initializes jScrollPane1    \r
@@ -865,6 +890,8 @@ public class SpdPcdDefs extends IInternalFrame implements TableModelListener{
             v.add("X64");\r
             v.add("IPF");\r
             v.add("EBC");\r
+            v.add("ARM");\r
+            v.add("PPC");\r
             iCheckBoxList.setAllItems(v);\r
         }\r
         return iCheckBoxList;\r
index b16dd37fb9d1a01536fd9a9bc134c75057c89051..5730aba2e6912bf3e07c20f15ae06d84e478d81d 100644 (file)
@@ -12,7 +12,6 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 **/\r
 package org.tianocore.frameworkwizard.packaging.ui;\r
 \r
-import javax.swing.event.TableModelEvent;\r
 import javax.swing.table.DefaultTableModel;\r
 import javax.swing.table.TableModel;\r
 \r
@@ -25,6 +24,10 @@ GUI for create library definition elements of spd file.
 **/\r
 public class SpdPpiDecls extends SpdGuidDecls {\r
 \r
+    /**\r
+     * \r
+     */\r
+    private static final long serialVersionUID = 1L;\r
     private SpdFileContents sfc = null;\r
     \r
     public SpdPpiDecls() {\r
@@ -79,10 +82,18 @@ public class SpdPpiDecls extends SpdGuidDecls {
         if (m.getValueAt(row, 5) != null) {\r
             modTypeList = m.getValueAt(row, 5).toString();\r
         }\r
+        String[] rowData = {name, cName, guid, help};\r
+        if (!dataValidation(rowData)){\r
+            return;\r
+        }\r
         sfc.updateSpdPpiDecl(row, name, cName, guid, help, archList, modTypeList);\r
     }\r
     \r
     protected void addRow(String[] row) {\r
+        \r
+        if (!dataValidation(row)){\r
+            return;\r
+        }\r
         sfc.genSpdPpiDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]));\r
     }\r
     \r
index 5c70c1769c85b037383226f23dfbf4abb270c555..cc0584e340d9aad940a3a384b818787490c29955 100644 (file)
@@ -24,6 +24,10 @@ GUI for create library definition elements of spd file.
 **/\r
 public class SpdProtocolDecls extends SpdGuidDecls {\r
 \r
+    /**\r
+     * \r
+     */\r
+    private static final long serialVersionUID = 1L;\r
     private SpdFileContents sfc = null;\r
     \r
     public SpdProtocolDecls() {\r
@@ -79,11 +83,18 @@ public class SpdProtocolDecls extends SpdGuidDecls {
         if (m.getValueAt(row, 5) != null) {\r
             modTypeList = m.getValueAt(row, 5).toString();\r
         }\r
+        String[] rowData = {name, cName, guid, help};\r
+        if (!dataValidation(rowData)){\r
+            return;\r
+        }\r
         \r
         sfc.updateSpdProtocolDecl(row, name, cName, guid, help, archList, modTypeList);\r
     }\r
     \r
     protected void addRow(String[] row) {\r
+        if (!dataValidation(row)){\r
+            return;\r
+        }\r
         sfc.genSpdProtocolDeclarations(row[0], row[1], row[2], row[3], stringToVector(row[4]), stringToVector(row[5]));\r
     }\r
     \r