Fix bug of missing Pcd information in FPD ModuleSA.
authorjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 14 Jul 2006 09:19:24 +0000 (09:19 +0000)
committerjlin16 <jlin16@6f19259b-4bc3-4df7-8a09-765794883524>
Fri, 14 Jul 2006 09:19:24 +0000 (09:19 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@1010 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/FpdFrameworkModules.java
Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdModuleSA.java

index 8805bad9041aeae561b10c8667b339581c0dca70..4783a74a25185aa5eafa337059f49f3b4e669b48 100644 (file)
@@ -287,29 +287,56 @@ public class FpdFileContents {
     //\r
     // key for ModuleSA : "ModuleGuid ModuleVer PackageGuid PackageVer"\r
     //\r
-    public int getPcdDataCount(String key){\r
-        ModuleSADocument.ModuleSA msa = getModuleSA(key);\r
+    public int getPcdDataCount(int i){\r
+        if (getfpdFrameworkModules().getModuleSAList() == null || getfpdFrameworkModules().getModuleSAList().size() == 0) {\r
+            return 0;\r
+        }\r
+        \r
+        XmlCursor cursor = getfpdFrameworkModules().newCursor();\r
+        ModuleSADocument.ModuleSA msa = null;\r
+        if (cursor.toFirstChild()) {\r
+            for (int j = 0; j < i; ++j) {\r
+                cursor.toNextSibling();\r
+            }\r
+            msa = (ModuleSADocument.ModuleSA)cursor.getObject();\r
+        }\r
+        cursor.dispose();\r
+        \r
         if (msa == null || msa.getPcdBuildDefinition() == null || msa.getPcdBuildDefinition().getPcdDataList() == null){\r
             return 0;\r
         }\r
         return msa.getPcdBuildDefinition().getPcdDataList().size();\r
+        \r
     }\r
     \r
-    public void getPcdData(String key, String[][] saa) {\r
-        ModuleSADocument.ModuleSA msa = getModuleSA(key);\r
+    public void getPcdData(int i, String[][] saa) {\r
+        if (getfpdFrameworkModules().getModuleSAList() == null || getfpdFrameworkModules().getModuleSAList().size() == 0) {\r
+            return;\r
+        }\r
+        \r
+        XmlCursor cursor = getfpdFrameworkModules().newCursor();\r
+        ModuleSADocument.ModuleSA msa = null;\r
+        if (cursor.toFirstChild()) {\r
+            for (int j = 0; j < i; ++j) {\r
+                cursor.toNextSibling();\r
+            }\r
+            msa = (ModuleSADocument.ModuleSA)cursor.getObject();\r
+        }\r
+        cursor.dispose();\r
+        \r
         if (msa == null || msa.getPcdBuildDefinition() == null || msa.getPcdBuildDefinition().getPcdDataList() == null){\r
             return;\r
         }\r
         ListIterator<PcdBuildDefinitionDocument.PcdBuildDefinition.PcdData>li = msa.getPcdBuildDefinition().getPcdDataList().listIterator();\r
-        for (int i = 0; i < saa.length; ++i) {\r
+        for (int k = 0; k < saa.length; ++k) {\r
             PcdBuildDefinitionDocument.PcdBuildDefinition.PcdData pcdData = li.next();\r
-            saa[i][0] = pcdData.getCName();\r
-            saa[i][1] = pcdData.getTokenSpaceGuidCName();\r
-            saa[i][2] = pcdData.getItemType()+"";\r
-            saa[i][3] = pcdData.getToken().toString();\r
-            saa[i][4] = pcdData.getMaxDatumSize()+"";\r
-            saa[i][5] = pcdData.getDatumType()+"";\r
-            saa[i][6] = pcdData.getValue();\r
+            saa[k][0] = pcdData.getCName();\r
+            saa[k][1] = pcdData.getTokenSpaceGuidCName();\r
+            saa[k][2] = pcdData.getItemType()+"";\r
+            saa[k][3] = pcdData.getToken().toString();\r
+            saa[k][4] = pcdData.getMaxDatumSize()+"";\r
+            saa[k][5] = pcdData.getDatumType()+"";\r
+            saa[k][6] = pcdData.getValue();\r
             \r
         }\r
     }\r
index c6af4976382ebc07c9899da0f369ca6fe4bad781..27faa3644f8b8fcd3099a885ae3060c1a798b9d0 100644 (file)
@@ -202,7 +202,7 @@ public class FpdFrameworkModules extends IInternalFrame {
                     \r
                     docConsole.setSaved(false);\r
                     try{\r
-                        ffc.addFrameworkModulesPcdBuildDefs(miList.get(selectedRow), null);\r
+                        ffc.addFrameworkModulesPcdBuildDefs(mi, null);\r
                     }\r
                     catch (Exception exception) {\r
                         JOptionPane.showMessageDialog(frame, "PCD Insertion Fail. " + exception.getMessage());\r
@@ -292,7 +292,7 @@ public class FpdFrameworkModules extends IInternalFrame {
                     String mv = model1.getValueAt(selectedRow, 2)+"";\r
                     String pg = model1.getValueAt(selectedRow, 3)+"";\r
                     String pv = model1.getValueAt(selectedRow, 4)+"";\r
-                    settingDlg.setKey(mg + " " + mv + " " + pg + " " + pv);\r
+                    settingDlg.setKey(mg + " " + mv + " " + pg + " " + pv, selectedRow);\r
                     settingDlg.setVisible(true);\r
                 }\r
             });\r
index 48573115222c365c4b7df70c77700ad8427d38cc..7fd914adcc8e6b3432e525eead793e15f351624b 100644 (file)
@@ -129,27 +129,27 @@ public class FpdModuleSA extends JDialog implements ActionListener {
         this.ffc = ffc;\r
     }\r
     \r
-    public void setKey(String k){\r
+    public void setKey(String k, int i){\r
         this.moduleKey = k;\r
         jTabbedPane.setSelectedIndex(0);\r
-        initPcdBuildDefinition(k);\r
+        initPcdBuildDefinition(i);\r
     }\r
 \r
     /**\r
       init will be called each time FpdModuleSA object is to be shown.\r
       @param key Module information.\r
      **/\r
-    public void initPcdBuildDefinition(String key) {\r
+    public void initPcdBuildDefinition(int i) {\r
         //\r
         // display pcd for key.\r
         //\r
         model.setRowCount(0);\r
-        int pcdCount = ffc.getPcdDataCount(key);\r
+        int pcdCount = ffc.getPcdDataCount(i);\r
         if (pcdCount != 0) {\r
             String[][] saa = new String[pcdCount][7];\r
-            ffc.getPcdData(key, saa);\r
-            for (int i = 0; i < saa.length; ++i) {\r
-                model.addRow(saa[i]);\r
+            ffc.getPcdData(i, saa);\r
+            for (int j = 0; j < saa.length; ++j) {\r
+                model.addRow(saa[j]);\r
             }\r
         }\r
     }\r
@@ -483,7 +483,7 @@ public class FpdModuleSA extends JDialog implements ActionListener {
             jPanel.add(getJPanel2(), java.awt.BorderLayout.SOUTH);\r
             jPanel.addComponentListener(new java.awt.event.ComponentAdapter() {\r
                 public void componentShown(java.awt.event.ComponentEvent e) {\r
-                    initPcdBuildDefinition(moduleKey);\r
+//                    initPcdBuildDefinition(moduleKey);\r
                 }\r
             });\r
             \r