From: jlin16 Date: Tue, 20 Mar 2007 03:02:13 +0000 (+0000) Subject: Utilize multi-thread support of JAVA to improve UI response time of opening Framework... X-Git-Tag: edk2-stable201903~23407 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=55c30c85e0b0f1c7aedf97a024fe9cff20aa7c69 Utilize multi-thread support of JAVA to improve UI response time of opening FrameworkModules in a platform. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2488 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java index e219ee3291..902c12a17c 100644 --- a/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java +++ b/Tools/Java/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/platform/ui/FpdFrameworkModules.java @@ -836,6 +836,24 @@ public class FpdFrameworkModules extends IInternalFrame { new FpdFrameworkModules().setVisible(true); } + private class PcdSyncTask extends Thread { + + public void run () { + Vector vExceptions = new Vector(); + if (pcdSync(vExceptions)) { + JOptionPane.showMessageDialog(FrameworkWizardUI.getInstance(), "PCD in this platform are synchronized with those in MSA files."); + docConsole.setSaved(false); + } + if (vExceptions.size() > 0) { + String errorMsg = ""; + for (int i = 0; i < vExceptions.size(); ++i) { + errorMsg += " " + vExceptions.get(i) + "\n"; + } + JOptionPane.showMessageDialog(FrameworkWizardUI.getInstance(), "Error occurred during synchronization:\n" + errorMsg); + } + } + } + /** * This is the default constructor */ @@ -850,21 +868,14 @@ public class FpdFrameworkModules extends IInternalFrame { } + private PcdSyncTask pst = null; public FpdFrameworkModules(OpeningPlatformType opt) { this(opt.getXmlFpd()); docConsole = opt; - Vector vExceptions = new Vector(); - if (pcdSync(vExceptions)) { - JOptionPane.showMessageDialog(FrameworkWizardUI.getInstance(), "PCD in this platform are synchronized with those in MSA files."); - docConsole.setSaved(false); - } - if (vExceptions.size() > 0) { - String errorMsg = ""; - for (int i = 0; i < vExceptions.size(); ++i) { - errorMsg += " " + vExceptions.get(i) + "\n"; - } - JOptionPane.showMessageDialog(FrameworkWizardUI.getInstance(), "Error occurred during synchronization:\n" + errorMsg); + if (pst == null) { + pst = new PcdSyncTask(); } + pst.start(); } private void init(PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd) {