]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFileContents.java
Optimize library instance selection algorithm.
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdFileContents.java
index 594390c3283e47e29ecad52b6d48c4a19f45bcd2..adc6d265a107017917e05d62cca8548487e5386c 100644 (file)
@@ -786,9 +786,24 @@ public class FpdFileContents {
             String[][] saa = new String[count][5];\r
             getLibraryInstances (key, saa);\r
             for (int i = 0; i < count; ++i) {\r
-                if (mg.equalsIgnoreCase(saa[i][1]) && mv.equalsIgnoreCase(saa[i][2]) && pg.equalsIgnoreCase(saa[i][3]) && pv.equalsIgnoreCase(saa[i][4])) {\r
+                if (mg.equalsIgnoreCase(saa[i][1]) && pg.equalsIgnoreCase(saa[i][3])) {\r
+                    boolean modVerMatch = false;\r
+                    boolean pkgVerMatch = false;\r
+                    if ((mv.equals("null") || saa[i][2] == null)) {\r
+                        modVerMatch = true;\r
+                    }\r
+                    if (pv.equals("null") || saa[i][4] == null) {\r
+                        pkgVerMatch = true;\r
+                    }\r
+                    if (modVerMatch && pkgVerMatch) {\r
                     return true;\r
                 }\r
+                    else {\r
+                        if (mv.equals(saa[i][2]) && pv.equals(saa[i][4])) {\r
+                            return true;\r
+                        }\r
+                    }\r
+                }\r
             }\r
         }\r
         return false;\r