]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java
Fix Sku Info update UI refresh to update the dynamic pcd value for selected sku id.
[mirror_edk2.git] / Tools / Java / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / platform / ui / FpdFrameworkModules.java
index 75f7474a02489437221ef6841b70cf54b30405e2..2d8b23760e42a7859c9865a53899cbc9f46f5d34 100644 (file)
@@ -37,6 +37,7 @@ import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;
 import org.tianocore.frameworkwizard.common.ui.IInternalFrame;\r
 import org.tianocore.frameworkwizard.platform.ui.global.SurfaceAreaQuery;\r
 import org.tianocore.frameworkwizard.platform.ui.global.WorkspaceProfile;\r
+import org.tianocore.frameworkwizard.workspace.Workspace;\r
 import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
 \r
 import java.awt.FlowLayout;\r
@@ -672,7 +673,8 @@ public class FpdFrameworkModules extends IInternalFrame {
     \r
     private void showSettingsDlg (int row) {\r
         try {\r
-            if (ffc.adjustPcd(row)) {\r
+            Vector<String> vExceptions = new Vector<String>();\r
+            if (ffc.adjustPcd(row, vExceptions)) {\r
                 JOptionPane.showMessageDialog(frame, "Pcd entries sync. with those in MSA files.");\r
                 docConsole.setSaved(false);\r
             }\r
@@ -852,8 +854,17 @@ public class FpdFrameworkModules extends IInternalFrame {
     public FpdFrameworkModules(OpeningPlatformType opt) {\r
         this(opt.getXmlFpd());\r
         docConsole = opt;\r
-        if (pcdSync()) {\r
+        Vector<String> vExceptions = new Vector<String>();\r
+        if (pcdSync(vExceptions)) {\r
             JOptionPane.showMessageDialog(frame, "PCD in this platform are synchronized with those in MSA files.");    \r
+            docConsole.setSaved(false);\r
+        }\r
+        if (vExceptions.size() > 0) {\r
+            String errorMsg = "";\r
+            for (int i = 0; i < vExceptions.size(); ++i) {\r
+                errorMsg += " " + vExceptions.get(i) + "\n";\r
+            }\r
+            JOptionPane.showMessageDialog(frame, "Error occurred during synchronization:" + errorMsg);\r
         }\r
     }\r
 \r
@@ -883,7 +894,7 @@ public class FpdFrameworkModules extends IInternalFrame {
                     row[pkgVerColForFpdModTable] = mi.getPackageId().getVersion();\r
                     row[archColForFpdModTable] = saa[i][ffcModArch];\r
                     try {\r
-                        row[pathColForFpdModTable] = mi.getPath().substring(System.getenv("WORKSPACE").length() + 1);\r
+                        row[pathColForFpdModTable] = mi.getPath().substring(Workspace.getCurrentWorkspace().length() + 1);\r
                     } catch (Exception e) {\r
                         JOptionPane.showMessageDialog(frame, "Show FPD Modules:" + e.getMessage());\r
                     }\r
@@ -916,16 +927,16 @@ public class FpdFrameworkModules extends IInternalFrame {
         \r
     }\r
 \r
-    private boolean pcdSync() {\r
+    private boolean pcdSync(Vector<String> v) {\r
         boolean synced = false;\r
         for (int i = 0; i < jTableFpdModules.getRowCount(); ++i) {\r
             try {\r
-                if (ffc.adjustPcd(i)) {\r
+                if (ffc.adjustPcd(i, v)) {\r
                     synced = true;\r
                 }\r
             }\r
             catch (Exception exp) {\r
-                JOptionPane.showMessageDialog(frame, exp.getMessage());\r
+//                JOptionPane.showMessageDialog(frame, exp.getMessage());\r
                 continue;\r
             }\r
         }\r
@@ -950,7 +961,7 @@ public class FpdFrameworkModules extends IInternalFrame {
                 s[pkgNameColForAllModTable] = mi.getPackageId().getName();\r
                 s[pkgVerColForAllModTable] = mi.getPackageId().getVersion();\r
                 try {\r
-                    s[pathColForAllModTable] = mi.getPath().substring(System.getenv("WORKSPACE").length() + 1);\r
+                    s[pathColForAllModTable] = mi.getPath().substring(Workspace.getCurrentWorkspace().length() + 1);\r
                 } catch (Exception e) {\r
                     JOptionPane.showMessageDialog(frame, "Show All Modules:" + e.getMessage());\r
                 }\r