]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdDynamicPcdBuildDefinitions.java
Store Variable Name as Hex data array in dynamic pcd build definitions.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdDynamicPcdBuildDefinitions.java
index 3fd3f9edb78a6ec455a52d64f2c7fbca99b6b47a..416889aba5db236ff45418fa4a50dc5a94b982ab 100644 (file)
@@ -3,6 +3,7 @@ package org.tianocore.frameworkwizard.platform.ui;
 import java.awt.BorderLayout;\r
 \r
 import javax.swing.ButtonGroup;\r
+import javax.swing.JOptionPane;\r
 import javax.swing.JPanel;\r
 import javax.swing.JScrollPane;\r
 import javax.swing.JTable;\r
@@ -12,6 +13,8 @@ import javax.swing.event.ListSelectionListener;
 import javax.swing.table.DefaultTableModel;\r
 \r
 import org.tianocore.PlatformSurfaceAreaDocument;\r
+import org.tianocore.frameworkwizard.common.DataValidation;\r
+import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import javax.swing.JCheckBox;\r
@@ -244,7 +247,10 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
             jRadioButtonHii.setSelected(true);\r
             String[][] saa = new String[ffc.getDynamicPcdSkuInfoCount(i)][7];\r
             ffc.getDynamicPcdSkuInfos(i, saa);\r
-            jTextFieldVarName.setText(saa[0][1]);\r
+            \r
+            String varDisplayName = Tools.convertUnicodeHexStringToString(saa[0][1]);\r
+            jTextFieldVarName.setText(varDisplayName);\r
+            \r
             jTextFieldVarGuid.setText(saa[0][2]);\r
             jTextFieldVarOffset.setText(saa[0][3]);\r
             jTextFieldHiiDefaultValue.setText(saa[0][4]);\r
@@ -274,7 +280,8 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
         \r
         else if (saa[i][1] != null) {\r
             jRadioButtonHii.setSelected(true);\r
-            jTextFieldVarName.setText(saa[i][1]);\r
+            String varDisplayName = Tools.convertUnicodeHexStringToString(saa[i][1]);\r
+            jTextFieldVarName.setText(varDisplayName);\r
             jTextFieldVarGuid.setText(saa[i][2]);\r
             jTextFieldVarOffset.setText(saa[i][3]);\r
             jTextFieldHiiDefaultValue.setText(saa[i][4]);\r
@@ -507,7 +514,7 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
         }\r
         return jButtonSkuInfoUpdate;\r
     }\r
-\r
+    \r
     private void updateSkuInfo (int pcdSelected) {\r
         int skuCount = ffc.getDynamicPcdSkuInfoCount(pcdSelected);\r
         \r
@@ -518,16 +525,40 @@ public class FpdDynamicPcdBuildDefinitions extends IInternalFrame {
         String value = null;\r
         String vpdOffset = null;\r
         if (jRadioButtonHii.isSelected()) {\r
-            varName = jTextFieldVarName.getText();\r
+            varName = Tools.convertStringToUnicodeHexString(jTextFieldVarName.getText());\r
+            if (varName.length() == 0) {\r
+                JOptionPane.showMessageDialog(this, "Variable Name is Empty.");\r
+                return;\r
+            }\r
             varGuid = jTextFieldVarGuid.getText();\r
+            if (varGuid.length() == 0) {\r
+                JOptionPane.showMessageDialog(this, "Variable GUID is Empty.");\r
+                return;\r
+            }\r
             varOffset = jTextFieldVarOffset.getText();\r
+            if (!DataValidation.isHex64BitDataType(varOffset)) {\r
+                JOptionPane.showMessageDialog(this, "Variable Offset is NOT Hex64BitDataType.");\r
+                return;\r
+            }\r
             hiiDefault = jTextFieldHiiDefaultValue.getText();\r
+            if (!DataValidation.isDefaultValueType(hiiDefault)) {\r
+                JOptionPane.showMessageDialog(this, "Default Value is NOT DefaultValueType.");\r
+                return;\r
+            }\r
         }\r
         if (jRadioButtonVpd.isSelected()) {\r
             vpdOffset = jTextFieldVpdOffset.getText();\r
+            if (!DataValidation.isHex64BitDataType(vpdOffset)) {\r
+                JOptionPane.showMessageDialog(this, "VPD Offset is NOT Hex64BitDataType.");\r
+                return;\r
+            }\r
         }\r
         if (jRadioButtonDefaultValue.isSelected()) {\r
             value = jTextFieldDefaultValue.getText();\r
+            if (!DataValidation.isDefaultValueType(value)) {\r
+                JOptionPane.showMessageDialog(this, "Value is NOT DefaultValueType.");\r
+                return;\r
+            }\r
         }\r
         //\r
         // SKU disabled. only modify data for default SKU.\r