]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/packaging/ui/SpdLibClassDecls.java
Fixes:
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / packaging / ui / SpdLibClassDecls.java
index 1eb8a8e166a73f3c92eb45aca64abc0f4d14536a..eca407340841050c5af3fc5d4e5feb910ea2fb6c 100644 (file)
@@ -270,7 +270,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             String lib = m.getValueAt(row, 0) + "";\r
             String hdr = m.getValueAt(row, 1) + "";\r
             String hlp = m.getValueAt(row, 2) + "";\r
-            String guid = m.getValueAt(row, 3) + "";\r
+            String name = m.getValueAt(row, 3) + "";\r
             String ver = m.getValueAt(row, 4) + "";\r
             String arch = null;\r
             if (m.getValueAt(row, 5) != null) {\r
@@ -285,6 +285,10 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
                 return;\r
             }\r
             docConsole.setSaved(false);\r
+            \r
+            getLibInstances(lib);\r
+            String guid = nameToGuid(name);\r
+            \r
             sfc.updateSpdLibClass(row, lib, hdr, hlp, guid, ver, arch, module);\r
         }\r
     }\r
@@ -389,6 +393,11 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         sfc.getSpdLibClassDeclarations(saa);\r
         int i = 0;\r
         while (i < saa.length) {\r
+            if (saa[i][3] != null && saa[i][3].length() > 0) {\r
+                getLibInstances(saa[i][0]);\r
+                saa[i][3] = guidToName(saa[i][3]);\r
+            }\r
+            \r
             model.addRow(saa[i]);\r
             i++;\r
         }\r
@@ -528,7 +537,7 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         if (arg0.getSource() == jButtonAdd) {\r
             \r
             //ToDo: check before add\r
-            String[] row = {null, null, null, jTextField1.getText(), jTextField2.getText(), null, null};\r
+            String[] row = {null, null, null, jComboBox.getSelectedItem()+"", jTextField2.getText(), null, null};\r
             row[0] = jTextFieldAdd.getText();\r
             row[1] = jTextField.getText().replace('\\', '/');\r
             row[2] = jTextFieldHelp.getText();\r
@@ -546,7 +555,12 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
             model.addRow(row);\r
             jTable.changeSelection(model.getRowCount()-1, 0, false, false);\r
             docConsole.setSaved(false);\r
-            sfc.genSpdLibClassDeclarations(row[0], row[3], row[1], row[2], row[5], null, null, row[4], null, row[6]);\r
+            //\r
+            //convert to GUID before storing recommended lib instance.\r
+            //\r
+            getLibInstances(row[0]);\r
+            String recommendGuid = nameToGuid(row[3]);\r
+            sfc.genSpdLibClassDeclarations(row[0], recommendGuid, row[1], row[2], row[5], null, null, row[4], null, row[6]);\r
             \r
         }\r
         //\r
@@ -847,6 +861,32 @@ public class SpdLibClassDecls extends IInternalFrame implements TableModelListen
         \r
     }\r
 \r
+    private String nameToGuid(String name) {\r
+        String s = "";\r
+        if (!libNameGuidMap.containsKey(name)) {\r
+            return s;\r
+        }\r
+        \r
+        s = libNameGuidMap.get(name);\r
+        return s;\r
+    }\r
+    \r
+    private String guidToName(String guid){\r
+        String s = "";\r
+        if (!libNameGuidMap.containsValue(guid)) {\r
+            return s;\r
+        }\r
+        Set<String> key = libNameGuidMap.keySet();\r
+        Iterator<String> is = key.iterator();\r
+        while(is.hasNext()) {\r
+            s = is.next();\r
+            if (libNameGuidMap.get(s).equals(guid)) {\r
+                break;\r
+            }\r
+        }\r
+        return s;\r
+    }\r
+\r
 }\r
 \r
 \r