]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/global/GlobalData.java
1. Fix the problem of adding PCD for different Arch.
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / global / GlobalData.java
index 4a325c21ffbf6111fd234e789ce88be91c4a8aa8..afa4c31e0b9fa95355bf2cebd00430f640ffab0b 100644 (file)
@@ -428,6 +428,42 @@ public class GlobalData {
         return result;\r
     }\r
 \r
+    public static ModuleIdentification getModuleId(String key){\r
+        //\r
+        // Get ModuleGuid, ModuleVersion, PackageGuid, PackageVersion, Arch into string array.\r
+        //\r
+        String[] keyPart = key.split(" ");\r
+        Set<PackageIdentification> spi = GlobalData.getPackageList();\r
+        Iterator ispi = spi.iterator();\r
+        \r
+        while(ispi.hasNext()) {\r
+            PackageIdentification pi = (PackageIdentification)ispi.next();\r
+            if ( !pi.getGuid().equalsIgnoreCase(keyPart[2])){ \r
+\r
+                continue;\r
+            }\r
+            if (keyPart[3] != null && keyPart[3].length() > 0 && !keyPart[3].equals("null")){\r
+                if(!pi.getVersion().equals(keyPart[3])){\r
+                    continue;\r
+                }\r
+            }\r
+            Set<ModuleIdentification> smi = GlobalData.getModules(pi);\r
+            Iterator ismi = smi.iterator();\r
+            while(ismi.hasNext()) {\r
+                ModuleIdentification mi = (ModuleIdentification)ismi.next();\r
+                if (mi.getGuid().equalsIgnoreCase(keyPart[0])){\r
+                    if (keyPart[1] != null && keyPart[1].length() > 0 && !keyPart[1].equals("null")){\r
+                        if(!mi.getVersion().equals(keyPart[1])){\r
+                            continue;\r
+                        }\r
+                    }\r
+\r
+                    return mi;\r
+                }\r
+            }\r
+        }\r
+        return null;\r
+    }\r
     \r
     public static Vector<String> getModuleSupArchs(ModuleIdentification mi) throws Exception{\r
         Vector<String> vArchs = null;\r