]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java
1. Fix EDKT306 Output different error message for different condition in workspace...
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / FrameworkWizardUI.java
index 5efa81b25d2a1c2552161f353e8ae17dc1922b15..ad08749b7f6f789464008116d94bfc36d3ed0af1 100644 (file)
@@ -1807,25 +1807,19 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
      \r
      **/\r
     private void init() {\r
-        //\r
-        // Show splash screen\r
-        //\r
-        SplashScreen ss = new SplashScreen();\r
-        ss.setVisible(true);\r
-\r
         //\r
         // Set current workspace and check\r
         // Check if exists WORKSPACE\r
-        // \r
         //\r
         Workspace.setCurrentWorkspace(System.getenv("WORKSPACE"));\r
-        if (!Workspace.checkCurrentWorkspace()) {\r
-            JOptionPane.showConfirmDialog(null, "Workspace is not setup correctly. Please setup first.", "Warning",\r
-                                          JOptionPane.DEFAULT_OPTION, JOptionPane.WARNING_MESSAGE);\r
-            this.dispose();\r
-            System.exit(0);\r
-        }\r
+        this.checkWorkspace();\r
 \r
+        //\r
+        // Show splash screen\r
+        //\r
+        SplashScreen ss = new SplashScreen();\r
+        ss.setVisible(true);\r
+        \r
         //\r
         // Init Global Data\r
         //\r
@@ -3675,4 +3669,48 @@ public class FrameworkWizardUI extends IFrame implements KeyListener, MouseListe
                                           JOptionPane.INFORMATION_MESSAGE);\r
         }\r
     }\r
+\r
+    /**\r
+     Check if WORKSPACE Environment is valid\r
+     \r
+     **/\r
+    private void checkWorkspace() {\r
+        switch (Workspace.checkCurrentWorkspace()) {\r
+        case Workspace.WORKSPACE_VALID:\r
+            break;\r
+        case Workspace.WORKSPACE_NOT_DEFINED:\r
+            JOptionPane\r
+                       .showConfirmDialog(\r
+                                          null,\r
+                                          "WORKSPACE Environment Variable Is Not Defined, Please select a valid WORKSPACE directory. " +\r
+                                          DataType.LINE_SEPARATOR + DataType.LINE_SEPARATOR + "NOTICE:" +\r
+                                          DataType.LINE_SEPARATOR + "This does not change the System Environment Variable." +\r
+                                          DataType.LINE_SEPARATOR + "It only applies to where the Wizard will manage modification and file creations.",\r
+                                          "Error", JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);\r
+            SwitchWorkspace sw = new SwitchWorkspace(this, true);\r
+            int result = sw.showDialog();\r
+            if (result == DataType.RETURN_TYPE_CANCEL) {\r
+                this.dispose();\r
+                System.exit(0);\r
+            } else if (result == DataType.RETURN_TYPE_OK) {\r
+                sw.dispose();\r
+                break;\r
+            }\r
+        case Workspace.WORKSPACE_NOT_EXIST:\r
+            JOptionPane.showConfirmDialog(null, "Defined WORKSPACE Is Not Existed", "Error",\r
+                                          JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);\r
+            this.dispose();\r
+            System.exit(0);\r
+        case Workspace.WORKSPACE_NOT_DIRECTORY:\r
+            JOptionPane.showConfirmDialog(null, "Defined WORKSPACE Is Not A Directory", "Error",\r
+                                          JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);\r
+            this.dispose();\r
+            System.exit(0);\r
+        case Workspace.WORKSPACE_NOT_VALID:\r
+            JOptionPane.showConfirmDialog(null, "WORKSPACE Environment Variable Is Not Valid", "Error",\r
+                                          JOptionPane.DEFAULT_OPTION, JOptionPane.ERROR_MESSAGE);\r
+            this.dispose();\r
+            System.exit(0);\r
+        }\r
+    }\r
 }\r