]> git.proxmox.com Git - mirror_edk2.git/blobdiff - Tools/Source/FrameworkWizard/src/org/tianocore/frameworkwizard/FrameworkWizardUI.java
1. Merge ModuleDefinitions to MsaHeader
[mirror_edk2.git] / Tools / Source / FrameworkWizard / src / org / tianocore / frameworkwizard / FrameworkWizardUI.java
index 6041472c5fd77ce3d003239741e1b0801dd057af..e8857b543cb7c042b27a9006cff2d6e3eee8186e 100644 (file)
@@ -44,21 +44,16 @@ import javax.swing.event.TreeSelectionEvent;
 import javax.swing.event.TreeSelectionListener;\r
 \r
 import org.apache.xmlbeans.XmlException;\r
-import org.tianocore.ModuleSurfaceAreaDocument;\r
 import org.tianocore.PackageSurfaceAreaDocument;\r
-import org.tianocore.PlatformSurfaceAreaDocument;\r
 import org.tianocore.frameworkwizard.common.DataType;\r
+import org.tianocore.frameworkwizard.common.GlobalData;\r
 import org.tianocore.frameworkwizard.common.IFileFilter;\r
 import org.tianocore.frameworkwizard.common.Log;\r
-import org.tianocore.frameworkwizard.common.OpenFile;\r
 import org.tianocore.frameworkwizard.common.SaveFile;\r
 import org.tianocore.frameworkwizard.common.Tools;\r
 import org.tianocore.frameworkwizard.common.Identifications.Identification;\r
-import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleList;\r
 import org.tianocore.frameworkwizard.common.Identifications.OpeningModuleType;\r
-import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageList;\r
 import org.tianocore.frameworkwizard.common.Identifications.OpeningPackageType;\r
-import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformList;\r
 import org.tianocore.frameworkwizard.common.Identifications.OpeningPlatformType;\r
 import org.tianocore.frameworkwizard.common.ui.IDefaultMutableTreeNode;\r
 import org.tianocore.frameworkwizard.common.ui.IDesktopManager;\r
@@ -71,7 +66,6 @@ import org.tianocore.frameworkwizard.far.updateui.UpdateStepOne;
 import org.tianocore.frameworkwizard.module.Identifications.ModuleIdentification;\r
 import org.tianocore.frameworkwizard.module.ui.ModuleBootModes;\r
 import org.tianocore.frameworkwizard.module.ui.ModuleDataHubs;\r
-import org.tianocore.frameworkwizard.module.ui.ModuleDefinitions;\r
 import org.tianocore.frameworkwizard.module.ui.ModuleEvents;\r
 import org.tianocore.frameworkwizard.module.ui.ModuleExterns;\r
 import org.tianocore.frameworkwizard.module.ui.ModuleGuids;\r
@@ -119,20 +113,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
     private static final long serialVersionUID = -7103240960573031772L;\r
 \r
     ///\r
-    /// Used to save information of all files\r
+    /// Used to record current operation target\r
     ///\r
-    private Vector<ModuleIdentification> vModuleList = new Vector<ModuleIdentification>();\r
-\r
-    private Vector<PackageIdentification> vPackageList = new Vector<PackageIdentification>();\r
-\r
-    private Vector<PlatformIdentification> vPlatformList = new Vector<PlatformIdentification>();\r
-\r
-    private OpeningModuleList openingModuleList = new OpeningModuleList();\r
-\r
-    private OpeningPackageList openingPackageList = new OpeningPackageList();\r
-\r
-    private OpeningPlatformList openingPlatformList = new OpeningPlatformList();\r
-\r
     private int currentOpeningModuleIndex = -1;\r
 \r
     private int currentOpeningPackageIndex = -1;\r
@@ -1699,11 +1681,18 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             System.exit(0);\r
         }\r
 \r
+        //\r
+        // Init Global Data\r
+        //\r
+        GlobalData.init();\r
+\r
+        //\r
+        // Init the frame\r
+        //\r
         this.setSize(DataType.MAIN_FRAME_PREFERRED_SIZE_WIDTH, DataType.MAIN_FRAME_PREFERRED_SIZE_HEIGHT);\r
         this.setResizable(true);\r
         this.setJMenuBar(getjJMenuBar());\r
         this.addComponentListener(this);\r
-        this.getCompontentsFromFrameworkDatabase();\r
         this.setContentPane(getJContentPane());\r
         this.setTitle(DataType.PROJECT_NAME + " " + DataType.PROJECT_VERSION + " " + "- ["\r
                       + Workspace.getCurrentWorkspace() + "]");\r
@@ -1828,34 +1817,34 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         // First add package\r
         //\r
-        if (this.vPackageList.size() > 0) {\r
-            for (int index = 0; index < this.vPackageList.size(); index++) {\r
+        if (GlobalData.vPackageList.size() > 0) {\r
+            for (int index = 0; index < GlobalData.vPackageList.size(); index++) {\r
                 IDefaultMutableTreeNode dmtnModulePackage = null;\r
                 IDefaultMutableTreeNode dmtnModulePackageLibrary = null;\r
                 IDefaultMutableTreeNode dmtnModulePackageModule = null;\r
 \r
-                dmtnModulePackage = new IDefaultMutableTreeNode(this.vPackageList.elementAt(index).getName(),\r
+                dmtnModulePackage = new IDefaultMutableTreeNode(GlobalData.vPackageList.elementAt(index).getName(),\r
                                                                 IDefaultMutableTreeNode.MODULE_PACKAGE, false,\r
-                                                                this.vPackageList.elementAt(index));\r
+                                                                GlobalData.vPackageList.elementAt(index));\r
                 dmtnModulePackageLibrary = new IDefaultMutableTreeNode("Library",\r
                                                                        IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY,\r
-                                                                       false, this.vPackageList.elementAt(index));\r
+                                                                       false, GlobalData.vPackageList.elementAt(index));\r
                 dmtnModulePackageModule = new IDefaultMutableTreeNode("Module",\r
                                                                       IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE,\r
-                                                                      false, this.vPackageList.elementAt(index));\r
+                                                                      false, GlobalData.vPackageList.elementAt(index));\r
                 //\r
                 // And then add each module in its package\r
                 //\r
-                Vector<ModuleIdentification> vModule = wt.getAllModules(this.vPackageList.elementAt(index));\r
+                Vector<ModuleIdentification> vModule = wt.getAllModules(GlobalData.vPackageList.elementAt(index));\r
                 for (int indexJ = 0; indexJ < vModule.size(); indexJ++) {\r
                     if (vModule.get(indexJ).isLibrary()) {\r
                         dmtnModulePackageLibrary.add(new IDefaultMutableTreeNode(vModule.get(indexJ).getName(),\r
-                                                                                 IDefaultMutableTreeNode.MODULE,\r
-                                                                                 false, vModule.get(indexJ)));\r
+                                                                                 IDefaultMutableTreeNode.MODULE, false,\r
+                                                                                 vModule.get(indexJ)));\r
                     } else {\r
                         dmtnModulePackageModule.add(new IDefaultMutableTreeNode(vModule.get(indexJ).getName(),\r
-                                                                                IDefaultMutableTreeNode.MODULE,\r
-                                                                                false, vModule.get(indexJ)));\r
+                                                                                IDefaultMutableTreeNode.MODULE, false,\r
+                                                                                vModule.get(indexJ)));\r
                     }\r
                 }\r
                 if (dmtnModulePackageModule.getChildCount() > 0) {\r
@@ -1873,11 +1862,12 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         // Make Package Description\r
         //\r
         dmtnPackageDescription = new IDefaultMutableTreeNode("PackageDescription", IDefaultMutableTreeNode.PACKAGE, -1);\r
-        if (this.vPackageList.size() > 0) {\r
-            for (int index = 0; index < this.vPackageList.size(); index++) {\r
-                dmtnPackageDescription.add(new IDefaultMutableTreeNode(this.vPackageList.elementAt(index).getName(),\r
+        if (GlobalData.vPackageList.size() > 0) {\r
+            for (int index = 0; index < GlobalData.vPackageList.size(); index++) {\r
+                dmtnPackageDescription.add(new IDefaultMutableTreeNode(GlobalData.vPackageList.elementAt(index)\r
+                                                                                              .getName(),\r
                                                                        IDefaultMutableTreeNode.PACKAGE, false,\r
-                                                                       this.vPackageList.elementAt(index)));\r
+                                                                       GlobalData.vPackageList.elementAt(index)));\r
             }\r
         }\r
 \r
@@ -1886,11 +1876,12 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         dmtnPlatformDescription = new IDefaultMutableTreeNode("PlatformDescription", IDefaultMutableTreeNode.PLATFORM,\r
                                                               -1);\r
-        if (this.vPlatformList.size() > 0) {\r
-            for (int index = 0; index < this.vPlatformList.size(); index++) {\r
-                dmtnPlatformDescription.add(new IDefaultMutableTreeNode(this.vPlatformList.elementAt(index).getName(),\r
-                                                                        IDefaultMutableTreeNode.PLATFORM,\r
-                                                                        false, this.vPlatformList.elementAt(index)));\r
+        if (GlobalData.vPlatformList.size() > 0) {\r
+            for (int index = 0; index < GlobalData.vPlatformList.size(); index++) {\r
+                dmtnPlatformDescription.add(new IDefaultMutableTreeNode(GlobalData.vPlatformList.elementAt(index)\r
+                                                                                                .getName(),\r
+                                                                        IDefaultMutableTreeNode.PLATFORM, false,\r
+                                                                        GlobalData.vPlatformList.elementAt(index)));\r
             }\r
         }\r
 \r
@@ -2023,7 +2014,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         // Add new MsaHeader node to the tree\r
         //\r
-        IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(mid.getName(), IDefaultMutableTreeNode.MSA_HEADER,\r
+        IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(mid.getName(), IDefaultMutableTreeNode.MODULE,\r
                                                                    true, mid);\r
         //\r
         // First find the module belongs to which package\r
@@ -2083,90 +2074,6 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         }\r
     }\r
 \r
-    /**\r
-     Open Module\r
-\r
-     @param path input file path\r
-     \r
-     **/\r
-    private void openModule(String path, ModuleIdentification moduleId) {\r
-        ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
-        try {\r
-            msa = OpenFile.openMsaFile(path);\r
-        } catch (IOException e) {\r
-            Log.wrn("Open Module Surface Area " + path, e.getMessage());\r
-            Log.err("Open Module Surface Area " + path, e.getMessage());\r
-            return;\r
-        } catch (XmlException e) {\r
-            Log.wrn("Open Module Surface Area " + path, e.getMessage());\r
-            Log.err("Open Module Surface Area " + path, e.getMessage());\r
-            return;\r
-        } catch (Exception e) {\r
-            Log.wrn("Open Module Surface Area " + path, "Invalid file type");\r
-            Log.err("Open Module Surface Area " + path, "Invalid file type");\r
-            return;\r
-        }\r
-        Identification id = new Identification(msa.getMsaHeader().getModuleName(), msa.getMsaHeader().getGuidValue(),\r
-                                               msa.getMsaHeader().getVersion(), path);\r
-        //\r
-        // Generate module id\r
-        //\r
-        PackageIdentification pid = wt.getPackageIdByModuleId(id);\r
-        if (pid != null) {\r
-            //\r
-            // To judge if the module existed in vModuleList\r
-            // If not, add it to vModuleList\r
-            //\r
-            boolean isFind = false;\r
-            for (int index = 0; index < vModuleList.size(); index++) {\r
-                if (vModuleList.elementAt(index).equals(id)) {\r
-                    isFind = true;\r
-                    break;\r
-                }\r
-            }\r
-            if (!isFind) {\r
-                ModuleIdentification mid = new ModuleIdentification(id, pid, moduleId.isLibrary());\r
-                vModuleList.addElement(mid);\r
-                addModuleToTree(mid);\r
-            }\r
-        } else {\r
-            //\r
-            // The module is not in existing packages\r
-            //\r
-            Log.err("The module hasn't been added to any package of current workspace!");\r
-            return;\r
-        }\r
-\r
-        //\r
-        // Make the node selected\r
-        //\r
-        iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
-                                                                     IDefaultMutableTreeNode.MODULE)));\r
-        //\r
-        // Update opening Module list information\r
-        //\r
-        if (!openingModuleList.existsModule(id)) {\r
-            //\r
-            // Insert sub node of module\r
-            //\r
-            insertModuleTreeNode(id);\r
-            iTree.getSelectNode().setOpening(true);\r
-\r
-            //\r
-            // Update opening module list\r
-            //\r
-            openingModuleList.insertToOpeningModuleList(id, msa);\r
-            openingModuleList.setTreePathById(id, iTree.getSelectionPath());\r
-        }\r
-        //\r
-        // Select msa header node and show it in editor panel\r
-        //\r
-        iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
-                                                                     IDefaultMutableTreeNode.MSA_HEADER)));\r
-        showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id));\r
-        this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
-    }\r
-\r
     /**\r
      Open Module\r
 \r
@@ -2174,46 +2081,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
      \r
      **/\r
     private void openModule(String path) {\r
-        ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
-        try {\r
-            msa = OpenFile.openMsaFile(path);\r
-        } catch (IOException e) {\r
-            Log.wrn("Open Module Surface Area " + path, e.getMessage());\r
-            Log.err("Open Module Surface Area " + path, e.getMessage());\r
-            return;\r
-        } catch (XmlException e) {\r
-            Log.wrn("Open Module Surface Area " + path, e.getMessage());\r
-            Log.err("Open Module Surface Area " + path, e.getMessage());\r
-            return;\r
-        } catch (Exception e) {\r
-            Log.wrn("Open Module Surface Area " + path, "Invalid file type");\r
-            Log.err("Open Module Surface Area " + path, "Invalid file type");\r
-            return;\r
-        }\r
-        Identification id = new Identification(msa.getMsaHeader().getModuleName(), msa.getMsaHeader().getGuidValue(),\r
-                                               msa.getMsaHeader().getVersion(), path);\r
-        //\r
-        // Generate module id\r
-        //\r
-        PackageIdentification pid = wt.getPackageIdByModuleId(id);\r
-        if (pid != null) {\r
-            //\r
-            // To judge if the module existed in vModuleList\r
-            // If not, add it to vModuleList\r
-            //\r
-            boolean isFind = false;\r
-            for (int index = 0; index < vModuleList.size(); index++) {\r
-                if (vModuleList.elementAt(index).equals(id)) {\r
-                    isFind = true;\r
-                    break;\r
-                }\r
-            }\r
-            if (!isFind) {\r
-                ModuleIdentification mid = new ModuleIdentification(id, pid);\r
-                vModuleList.addElement(mid);\r
-                addModuleToTree(mid);\r
-            }\r
-        } else {\r
+        ModuleIdentification id = GlobalData.openingModuleList.getIdByPath(path);\r
+        if (id == null) {\r
             //\r
             // The module is not in existing packages\r
             //\r
@@ -2229,7 +2098,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         // Update opening Module list information\r
         //\r
-        if (!openingModuleList.existsModule(id)) {\r
+        if (!GlobalData.openingModuleList.getModuleOpen(id)) {\r
             //\r
             // Insert sub node of module\r
             //\r
@@ -2239,16 +2108,16 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             //\r
             // Update opening module list\r
             //\r
-            openingModuleList.insertToOpeningModuleList(id, msa);\r
-            openingModuleList.setTreePathById(id, iTree.getSelectionPath());\r
+            GlobalData.openingModuleList.setModuleOpen(id, true);\r
+            GlobalData.openingModuleList.setTreePathById(id, iTree.getSelectionPath());\r
         }\r
         //\r
         // Select msa header node and show it in editor panel\r
         //\r
         iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnModuleDescription, id,\r
                                                                      IDefaultMutableTreeNode.MSA_HEADER)));\r
-        showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id));\r
-        this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
+        showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, GlobalData.openingModuleList.getOpeningModuleById(id));\r
+        this.currentOpeningModuleIndex = GlobalData.openingModuleList.findIndexOfListById(id);\r
     }\r
 \r
     /**\r
@@ -2258,38 +2127,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
      \r
      **/\r
     private void openPackage(String path) {\r
-        PackageSurfaceAreaDocument.PackageSurfaceArea spd = null;\r
-        try {\r
-            spd = OpenFile.openSpdFile(path);\r
-        } catch (IOException e) {\r
-            Log.wrn("Open Package Surface Area " + path, e.getMessage());\r
-            Log.err("Open Package Surface Area " + path, e.getMessage());\r
-            return;\r
-        } catch (XmlException e) {\r
-            Log.wrn("Open Package Surface Area " + path, e.getMessage());\r
-            Log.err("Open Package Surface Area " + path, e.getMessage());\r
-            return;\r
-        } catch (Exception e) {\r
-            Log.wrn("Open Package Surface Area " + path, "Invalid file type");\r
-            Log.err("Open Package Surface Area " + path, "Invalid file type");\r
-            return;\r
-        }\r
-        Identification id = new Identification(spd.getSpdHeader().getPackageName(), spd.getSpdHeader().getGuidValue(),\r
-                                               spd.getSpdHeader().getVersion(), path);\r
-        //\r
-        // To judge if the package existed in vPackageList\r
-        // If not, add it to vPackageList\r
-        //\r
-        boolean isFind = false;\r
-        for (int index = 0; index < vPackageList.size(); index++) {\r
-            if (vPackageList.elementAt(index).equals(id)) {\r
-                isFind = true;\r
-                break;\r
-            }\r
-        }\r
-        if (!isFind) {\r
+        PackageIdentification id = GlobalData.openingPackageList.getIdByPath(path);\r
+        if (id == null) {\r
             //\r
-            // The module is not in existing packages\r
+            // The package is not in current workspace\r
             //\r
             Log.wrn("Open Package", "The package hasn't been added to current workspace!");\r
             return;\r
@@ -2303,7 +2144,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         // Update opening package list information\r
         //\r
-        if (!openingPackageList.existsPackage(id)) {\r
+        if (!GlobalData.openingPackageList.getPackageOpen(id)) {\r
             //\r
             // Insert sub node of module\r
             //\r
@@ -2313,16 +2154,16 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             //\r
             // Update opening module list\r
             //\r
-            openingPackageList.insertToOpeningPackageList(id, spd);\r
-            openingPackageList.setTreePathById(id, iTree.getSelectionPath());\r
+            GlobalData.openingPackageList.setPackageOpen(id, true);\r
+            GlobalData.openingPackageList.setTreePathById(id, iTree.getSelectionPath());\r
         }\r
         //\r
         // Show spd header in editor panel\r
         //\r
         iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPackageDescription, id,\r
                                                                      IDefaultMutableTreeNode.SPD_HEADER)));\r
-        showPackageElement(IDefaultMutableTreeNode.SPD_HEADER, openingPackageList.getOpeningPackageById(id));\r
-        this.currentOpeningPackageIndex = openingPackageList.findIndexOfListById(id);\r
+        showPackageElement(IDefaultMutableTreeNode.SPD_HEADER, GlobalData.openingPackageList.getOpeningPackageById(id));\r
+        this.currentOpeningPackageIndex = GlobalData.openingPackageList.findIndexOfListById(id);\r
     }\r
 \r
     /**\r
@@ -2332,39 +2173,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
      \r
      **/\r
     private void openPlatform(String path) {\r
-        PlatformSurfaceAreaDocument.PlatformSurfaceArea fpd = null;\r
-        try {\r
-            fpd = OpenFile.openFpdFile(path);\r
-        } catch (IOException e) {\r
-            Log.wrn("Open Platform Surface Area " + path, e.getMessage());\r
-            Log.err("Open Platform Surface Area " + path, e.getMessage());\r
-            return;\r
-        } catch (XmlException e) {\r
-            Log.wrn("Open Platform Surface Area " + path, e.getMessage());\r
-            Log.err("Open Platform Surface Area " + path, e.getMessage());\r
-            return;\r
-        } catch (Exception e) {\r
-            Log.wrn("Open Platform Surface Area " + path, "Invalid file type");\r
-            Log.err("Open Platform Surface Area " + path, "Invalid file type");\r
-            return;\r
-        }\r
-        Identification id = new Identification(fpd.getPlatformHeader().getPlatformName(), fpd.getPlatformHeader()\r
-                                                                                             .getGuidValue(),\r
-                                               fpd.getPlatformHeader().getVersion(), path);\r
-        //\r
-        // To judge if the platform existed in vPlatformList\r
-        // If not, add it to vPlatformList\r
-        //\r
-        boolean isFind = false;\r
-        for (int index = 0; index < vPlatformList.size(); index++) {\r
-            if (vPlatformList.elementAt(index).equals(id)) {\r
-                isFind = true;\r
-                break;\r
-            }\r
-        }\r
-        if (!isFind) {\r
+        PlatformIdentification id = GlobalData.openingPlatformList.getIdByPath(path);\r
+        if (id == null) {\r
             //\r
-            // The module is not in existing packages\r
+            // The platform is not in current workspace\r
             //\r
             Log.wrn("Open Platform", "The platform hasn't been added to current workspace!");\r
             return;\r
@@ -2378,7 +2190,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         // Update opening package list information\r
         //\r
-        if (!openingPlatformList.existsPlatform(id)) {\r
+        if (!GlobalData.openingPlatformList.getPlatformOpen(id)) {\r
             //\r
             // Insert sub node of module\r
             //\r
@@ -2388,16 +2200,17 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             //\r
             // Update opening module list\r
             //\r
-            openingPlatformList.insertToOpeningPlatformList(id, fpd);\r
-            openingPlatformList.setTreePathById(id, iTree.getSelectionPath());\r
+            GlobalData.openingPlatformList.setPlatformOpen(id, true);\r
+            GlobalData.openingPlatformList.setTreePathById(id, iTree.getSelectionPath());\r
         }\r
         //\r
         // Show fpd header in editor panel\r
         //\r
         iTree.setSelectionPath(iTree.getPathOfNode(iTree.getNodeById(this.dmtnPlatformDescription, id,\r
                                                                      IDefaultMutableTreeNode.FPD_PLATFORMHEADER)));\r
-        showPlatformElement(IDefaultMutableTreeNode.FPD_PLATFORMHEADER, openingPlatformList.getOpeningPlatformById(id));\r
-        this.currentOpeningPlatformIndex = openingPlatformList.findIndexOfListById(id);\r
+        showPlatformElement(IDefaultMutableTreeNode.FPD_PLATFORMHEADER,\r
+                            GlobalData.openingPlatformList.getOpeningPlatformById(id));\r
+        this.currentOpeningPlatformIndex = GlobalData.openingPlatformList.findIndexOfListById(id);\r
     }\r
 \r
     /**\r
@@ -2405,7 +2218,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
      \r
      **/\r
     private void saveModule(int index) {\r
-        OpeningModuleType omt = openingModuleList.getOpeningModuleByIndex(index);\r
+        OpeningModuleType omt = GlobalData.openingModuleList.getOpeningModuleByIndex(index);\r
         if (omt.isNew()) {\r
             if (getNewFilePath(DataType.MODULE_SURFACE_AREA_EXT) != JFileChooser.APPROVE_OPTION) {\r
                 return;\r
@@ -2413,8 +2226,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         }\r
         try {\r
             SaveFile.saveMsaFile(omt.getId().getPath(), omt.getXmlMsa());\r
-            openingModuleList.setNew(omt.getId(), false);\r
-            openingModuleList.setModuleSaved(omt.getId(), true);\r
+            GlobalData.openingModuleList.setNew(omt.getId(), false);\r
+            GlobalData.openingModuleList.setModuleSaved(omt.getId(), true);\r
         } catch (Exception e) {\r
             Log.wrn("Save Module", e.getMessage());\r
             Log.err("Save Module", e.getMessage());\r
@@ -2426,7 +2239,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
      \r
      **/\r
     private void savePackage(int index) {\r
-        OpeningPackageType opt = openingPackageList.getOpeningPackageByIndex(index);\r
+        OpeningPackageType opt = GlobalData.openingPackageList.getOpeningPackageByIndex(index);\r
         if (opt.isNew()) {\r
             if (getNewFilePath(DataType.PACKAGE_SURFACE_AREA_EXT) != JFileChooser.APPROVE_OPTION) {\r
                 return;\r
@@ -2434,8 +2247,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         }\r
         try {\r
             SaveFile.saveSpdFile(opt.getId().getPath(), opt.getXmlSpd());\r
-            openingPackageList.setNew(opt.getId(), false);\r
-            openingPackageList.setPackageSaved(opt.getId(), true);\r
+            GlobalData.openingPackageList.setNew(opt.getId(), false);\r
+            GlobalData.openingPackageList.setPackageSaved(opt.getId(), true);\r
         } catch (Exception e) {\r
             Log.wrn("Save Package", e.getMessage());\r
             Log.err("Save Package", e.getMessage());\r
@@ -2447,7 +2260,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
      \r
      **/\r
     private void savePlatform(int index) {\r
-        OpeningPlatformType opt = openingPlatformList.getOpeningPlatformByIndex(index);\r
+        OpeningPlatformType opt = GlobalData.openingPlatformList.getOpeningPlatformByIndex(index);\r
         if (opt.isNew()) {\r
             if (getNewFilePath(DataType.PACKAGE_SURFACE_AREA_EXT) != JFileChooser.APPROVE_OPTION) {\r
                 return;\r
@@ -2455,8 +2268,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         }\r
         try {\r
             SaveFile.saveFpdFile(opt.getId().getPath(), opt.getXmlFpd());\r
-            openingPlatformList.setNew(opt.getId(), false);\r
-            openingPlatformList.setPlatformSaved(opt.getId(), true);\r
+            GlobalData.openingPlatformList.setNew(opt.getId(), false);\r
+            GlobalData.openingPlatformList.setPlatformSaved(opt.getId(), true);\r
         } catch (Exception e) {\r
             Log.wrn("Save Package", e.getMessage());\r
             Log.err("Save Package", e.getMessage());\r
@@ -2506,19 +2319,11 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         }\r
     }\r
 \r
-    private void getCompontentsFromFrameworkDatabase() {\r
-        this.vModuleList = wt.getAllModules();\r
-        this.vPackageList = wt.getAllPackages();\r
-        this.vPlatformList = wt.getAllPlatforms();\r
-    }\r
-\r
     private void insertModuleTreeNode(Identification id) {\r
         iTree.addNode(new IDefaultMutableTreeNode("Module Header", IDefaultMutableTreeNode.MSA_HEADER, true, id));\r
-        iTree.addNode(new IDefaultMutableTreeNode("Module Definitions", IDefaultMutableTreeNode.MSA_MODULEDEFINITIONS,\r
-                                                  true, id));\r
+        iTree.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode.MSA_SOURCEFILES, true, id));\r
         iTree.addNode(new IDefaultMutableTreeNode("Library Class Definitions",\r
                                                   IDefaultMutableTreeNode.MSA_LIBRARYCLASSDEFINITIONS, true, id));\r
-        iTree.addNode(new IDefaultMutableTreeNode("Source Files", IDefaultMutableTreeNode.MSA_SOURCEFILES, true, id));\r
         iTree.addNode(new IDefaultMutableTreeNode("Package Dependencies",\r
                                                   IDefaultMutableTreeNode.MSA_PACKAGEDEPENDENCIES, true, id));\r
         iTree.addNode(new IDefaultMutableTreeNode("Protocols", IDefaultMutableTreeNode.MSA_PROTOCOLS, true, id));\r
@@ -2537,8 +2342,6 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
 \r
     private void insertPackageTreeNode(Identification id) {\r
         iTree.addNode(new IDefaultMutableTreeNode("Package Header", IDefaultMutableTreeNode.SPD_HEADER, true, id));\r
-        iTree.addNode(new IDefaultMutableTreeNode("Package Definitions",\r
-                                                  IDefaultMutableTreeNode.SPD_PACKAGEDEFINITIONS, true, id));\r
         iTree.addNode(new IDefaultMutableTreeNode("Library Class Declarations",\r
                                                   IDefaultMutableTreeNode.SPD_LIBRARYCLASSDECLARATIONS, true, id));\r
         iTree.addNode(new IDefaultMutableTreeNode("Msa Files", IDefaultMutableTreeNode.SPD_MSAFILES, false, id));\r
@@ -2580,7 +2383,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             id = iTree.getSelectNode().getId();\r
             intCategory = iTree.getSelectCategory();\r
             isOpen = iTree.getSelectNode().isOpening();\r
-            \r
+\r
             if (!isOpen) {\r
                 //              \r
                 // If the node is not opened yet\r
@@ -2608,27 +2411,38 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
                     return;\r
                 }\r
             }\r
-            \r
+\r
             //\r
             // Show editor panel\r
             //\r
             if (intCategory >= IDefaultMutableTreeNode.MSA_HEADER && intCategory < IDefaultMutableTreeNode.SPD_HEADER) {\r
-                showModuleElement(intCategory, openingModuleList.getOpeningModuleById(id));\r
-                this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
+                showModuleElement(intCategory,\r
+                                  GlobalData.openingModuleList.getOpeningModuleById(new ModuleIdentification(id)));\r
+                this.currentOpeningModuleIndex = GlobalData.openingModuleList\r
+                                                                             .findIndexOfListById(new ModuleIdentification(\r
+                                                                                                                           id));\r
             }\r
             if (intCategory >= IDefaultMutableTreeNode.SPD_HEADER\r
                 && intCategory < IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
-                showPackageElement(intCategory, openingPackageList.getOpeningPackageById(id));\r
-                this.currentOpeningPackageIndex = openingPackageList.findIndexOfListById(id);\r
+                showPackageElement(intCategory,\r
+                                   GlobalData.openingPackageList.getOpeningPackageById(new PackageIdentification(id)));\r
+                this.currentOpeningPackageIndex = GlobalData.openingPackageList\r
+                                                                               .findIndexOfListById(new PackageIdentification(\r
+                                                                                                                              id));\r
             }\r
             if (intCategory >= IDefaultMutableTreeNode.FPD_PLATFORMHEADER) {\r
-                showPlatformElement(intCategory, openingPlatformList.getOpeningPlatformById(id));\r
-                this.currentOpeningPlatformIndex = openingPlatformList.findIndexOfListById(id);\r
+                showPlatformElement(\r
+                                    intCategory,\r
+                                    GlobalData.openingPlatformList\r
+                                                                  .getOpeningPlatformById(new PlatformIdentification(id)));\r
+                this.currentOpeningPlatformIndex = GlobalData.openingPlatformList\r
+                                                                                 .findIndexOfListById(new PlatformIdentification(\r
+                                                                                                                                 id));\r
             }\r
         } catch (RuntimeException e) {\r
-            Log.log("double click category: " + intCategory);\r
-            Log.log("double click id path: " + id);\r
-            Log.log("double click exception: " + e.getMessage());\r
+            Log.err("double click category: " + intCategory);\r
+            Log.err("double click id path: " + id);\r
+            Log.err("double click exception: " + e.getMessage());\r
         }\r
     }\r
 \r
@@ -2734,10 +2548,6 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             MsaHeader frmMsaHeader = new MsaHeader(msa);\r
             getJDesktopPaneModule().add(frmMsaHeader, 1);\r
             break;\r
-        case IDefaultMutableTreeNode.MSA_MODULEDEFINITIONS:\r
-            ModuleDefinitions frmMd = new ModuleDefinitions(msa);\r
-            getJDesktopPaneModule().add(frmMd, 1);\r
-            break;\r
         case IDefaultMutableTreeNode.MSA_LIBRARYCLASSDEFINITIONS:\r
             ModuleLibraryClassDefinitions frmMlcd = new ModuleLibraryClassDefinitions(msa);\r
             getJDesktopPaneModule().add(frmMlcd, 1);\r
@@ -2833,26 +2643,47 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
                 smb.dispose();\r
                 return;\r
             } else if (result == DataType.RETURN_TYPE_OK) {\r
-                PackageSurfaceAreaDocument.PackageSurfaceArea psa = null;\r
-                if (this.openingPackageList.existsPackage(smb.getMid().getPackageId())) {\r
-                    psa = openingPackageList.getPackageSurfaceAreaFromId(smb.getMid().getPackageId());\r
-                }\r
-                try {\r
-                    wt.addModuleToPackage(smb.getMid(), psa);\r
-                } catch (IOException e) {\r
-                    Log.wrn("Upddate MsaFiles of Package", e.getMessage());\r
-                    Log.err("Upddate MsaFiles of Package", e.getMessage());\r
-                    return;\r
-                } catch (XmlException e) {\r
-                    Log.wrn("Upddate MsaFiles of Package", e.getMessage());\r
-                    Log.err("Upddate MsaFiles of Package", e.getMessage());\r
-                    return;\r
-                } catch (Exception e) {\r
-                    Log.wrn("Upddate MsaFiles of Package", e.getMessage());\r
-                    Log.err("Upddate MsaFiles of Package", e.getMessage());\r
-                    return;\r
+                ModuleIdentification mid = smb.getMid();\r
+                if (mid != null) {\r
+                    //\r
+                    // Update package of workspace first\r
+                    //\r
+                    PackageSurfaceAreaDocument.PackageSurfaceArea psa = null;\r
+                    if (GlobalData.openingPackageList.existsPackage(mid.getPackageId())) {\r
+                        psa = GlobalData.openingPackageList.getPackageSurfaceAreaFromId(mid.getPackageId());\r
+                    }\r
+                    try {\r
+                        wt.addModuleToPackage(mid, psa);\r
+                    } catch (IOException e) {\r
+                        Log.wrn("Upddate MsaFiles of Package", e.getMessage());\r
+                        Log.err("Upddate MsaFiles of Package", e.getMessage());\r
+                        return;\r
+                    } catch (XmlException e) {\r
+                        Log.wrn("Upddate MsaFiles of Package", e.getMessage());\r
+                        Log.err("Upddate MsaFiles of Package", e.getMessage());\r
+                        return;\r
+                    } catch (Exception e) {\r
+                        Log.wrn("Upddate MsaFiles of Package", e.getMessage());\r
+                        Log.err("Upddate MsaFiles of Package", e.getMessage());\r
+                        return;\r
+                    }\r
+                    \r
+                    //\r
+                    // Update Global Data\r
+                    //\r
+                    GlobalData.openingModuleList.insertToOpeningModuleList(mid, smb.getMsa());\r
+                    GlobalData.vModuleList.addElement(mid);\r
+                    \r
+                    //\r
+                    // Create new node on the tree\r
+                    //\r
+                    addModuleToTree(mid);\r
+                    \r
+                    //\r
+                    // Open the node\r
+                    //\r
+                    this.openModule(mid.getPath());\r
                 }\r
-                this.openModule(smb.getMid().getPath(), smb.getMid());\r
             }\r
         } else if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
             //\r
@@ -2866,30 +2697,37 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
                 smb.dispose();\r
                 return;\r
             } else if (result == DataType.RETURN_TYPE_OK) {\r
-                try {\r
-                    wt.addPackageToDatabase(smb.getPid());\r
-                } catch (Exception e) {\r
-                    Log.err("addPackageToDatabase", e.getMessage());\r
-                }\r
-                vPackageList.addElement(smb.getPid());\r
+                PackageIdentification pid = smb.getPid();\r
+                if (pid != null) {\r
+                    try {\r
+                        wt.addPackageToDatabase(smb.getPid());\r
+                    } catch (Exception e) {\r
+                        Log.err("addPackageToDatabase", e.getMessage());\r
+                    }\r
 \r
-                //\r
-                // Add to Module Description node\r
-                //\r
-                IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vPackageList.lastElement().getName(),\r
-                                                                           IDefaultMutableTreeNode.MODULE_PACKAGE,\r
-                                                                           false, vPackageList.lastElement());\r
+                    //\r
+                    // Update Global Data\r
+                    //\r
+                    GlobalData.openingPackageList.insertToOpeningPackageList(pid, smb.getSpd());\r
+                    GlobalData.vPackageList.addElement(pid);\r
 \r
-                iTree.addNode(dmtnModuleDescription, node);\r
+                    //\r
+                    // Add to Module Description node\r
+                    //\r
+                    IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(pid.getName(),\r
+                                                                               IDefaultMutableTreeNode.MODULE_PACKAGE,\r
+                                                                               false, pid);\r
 \r
-                //\r
-                // Add new SpdHeader node to the tree\r
-                //\r
-                node = new IDefaultMutableTreeNode(vPackageList.lastElement().getName(),\r
-                                                   IDefaultMutableTreeNode.SPD_HEADER, true, vPackageList.lastElement());\r
-                iTree.addNode(dmtnPackageDescription, node);\r
+                    iTree.addNode(dmtnModuleDescription, node);\r
+\r
+                    //\r
+                    // Add new SpdHeader node to the tree\r
+                    //\r
+                    node = new IDefaultMutableTreeNode(pid.getName(), IDefaultMutableTreeNode.PACKAGE, true, pid);\r
+                    iTree.addNode(dmtnPackageDescription, node);\r
 \r
-                this.openPackage(smb.getPid().getPath());\r
+                    this.openPackage(pid.getPath());\r
+                }\r
             }\r
         } else if (result == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) {\r
             //\r
@@ -2903,20 +2741,28 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
                 smb.dispose();\r
                 return;\r
             } else if (result == DataType.RETURN_TYPE_OK) {\r
-                try {\r
-                    wt.addPlatformToDatabase(smb.getFid());\r
-                } catch (Exception e) {\r
-                    Log.err("addPlatformToDatabase", e.getMessage());\r
+                PlatformIdentification fid = smb.getFid();\r
+                if (fid != null) {\r
+                    try {\r
+                        wt.addPlatformToDatabase(fid);\r
+                    } catch (Exception e) {\r
+                        Log.err("addPlatformToDatabase", e.getMessage());\r
+                    }\r
+\r
+                    //\r
+                    // Update global data\r
+                    //\r
+                    GlobalData.openingPlatformList.insertToOpeningPlatformList(fid, smb.getFpd());\r
+                    GlobalData.vPlatformList.addElement(fid);\r
+                    //\r
+                    // Add new SpdHeader node to the tree\r
+                    //\r
+                    IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(fid.getName(),\r
+                                                                               IDefaultMutableTreeNode.PLATFORM, true,\r
+                                                                               fid);\r
+                    iTree.addNode(dmtnPlatformDescription, node);\r
+                    this.openPlatform(fid.getPath());\r
                 }\r
-                vPlatformList.addElement(smb.getFid());\r
-                //\r
-                // Add new SpdHeader node to the tree\r
-                //\r
-                IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vPlatformList.lastElement().getName(),\r
-                                                                           IDefaultMutableTreeNode.FPD_PLATFORMHEADER,\r
-                                                                           true, vPlatformList.lastElement());\r
-                iTree.addNode(dmtnPlatformDescription, node);\r
-                this.openPlatform(smb.getFid().getPath());\r
             }\r
         }\r
     }\r
@@ -2962,7 +2808,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         case 0:\r
             if (this.currentOpeningModuleIndex > -1) {\r
-                if (!openingModuleList.getModuleSaved(currentOpeningModuleIndex)) {\r
+                if (!GlobalData.openingModuleList.getModuleSaved(currentOpeningModuleIndex)) {\r
                     int result = showSaveDialog();\r
                     if (result == JOptionPane.YES_OPTION) {\r
                         this.saveAll();\r
@@ -2974,8 +2820,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
                         return;\r
                     }\r
                 }\r
-                iTree.removeNodeChildrenByPath(openingModuleList.getTreePathByIndex(currentOpeningModuleIndex));\r
-                this.openingModuleList.removeFromOpeningModuleListByIndex(this.currentOpeningModuleIndex);\r
+                iTree\r
+                     .removeNodeChildrenByPath(GlobalData.openingModuleList\r
+                                                                           .getTreePathByIndex(currentOpeningModuleIndex));\r
+                GlobalData.openingModuleList.setModuleOpen(this.currentOpeningModuleIndex, false);\r
                 this.cleanDesktopPaneModule();\r
                 this.currentOpeningModuleIndex = -1;\r
             }\r
@@ -2985,7 +2833,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //    \r
         case 1:\r
             if (this.currentOpeningPackageIndex > -1) {\r
-                if (!openingPackageList.getPackageSaved(currentOpeningPackageIndex)) {\r
+                if (!GlobalData.openingPackageList.getPackageSaved(currentOpeningPackageIndex)) {\r
                     int result = showSaveDialog();\r
                     if (result == JOptionPane.YES_OPTION) {\r
                         this.saveAll();\r
@@ -2997,8 +2845,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
                         return;\r
                     }\r
                 }\r
-                iTree.removeNodeChildrenByPath(openingPackageList.getTreePathByIndex(currentOpeningPackageIndex));\r
-                this.openingPackageList.removeFromOpeningPackageListByIndex(this.currentOpeningPackageIndex);\r
+                iTree\r
+                     .removeNodeChildrenByPath(GlobalData.openingPackageList\r
+                                                                            .getTreePathByIndex(currentOpeningPackageIndex));\r
+                GlobalData.openingPackageList.setPackageOpen(this.currentOpeningPackageIndex, false);\r
                 this.cleanDesktopPanePackage();\r
                 this.currentOpeningPackageIndex = -1;\r
             }\r
@@ -3008,7 +2858,7 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         case 2:\r
             if (this.currentOpeningPlatformIndex > -1) {\r
-                if (!openingPlatformList.getPlatformSaved(currentOpeningPlatformIndex)) {\r
+                if (!GlobalData.openingPlatformList.getPlatformSaved(currentOpeningPlatformIndex)) {\r
                     int result = showSaveDialog();\r
                     if (result == JOptionPane.YES_OPTION) {\r
                         this.saveAll();\r
@@ -3020,8 +2870,10 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
                         return;\r
                     }\r
                 }\r
-                iTree.removeNodeChildrenByPath(openingPlatformList.getTreePathByIndex(currentOpeningPlatformIndex));\r
-                this.openingPlatformList.removeFromOpeningPlatformListByIndex(this.currentOpeningPlatformIndex);\r
+                iTree\r
+                     .removeNodeChildrenByPath(GlobalData.openingPlatformList\r
+                                                                             .getTreePathByIndex(currentOpeningPlatformIndex));\r
+                GlobalData.openingPlatformList.setPlatformOpen(this.currentOpeningPlatformIndex, false);\r
                 this.cleanDesktopPanePlatform();\r
                 this.currentOpeningPlatformIndex = -1;\r
             }\r
@@ -3035,7 +2887,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
      **/\r
     private void closeAll() {\r
         int result = -1;\r
-        if (!openingModuleList.isSaved() || !openingPackageList.isSaved() || !openingPlatformList.isSaved()) {\r
+        if (!GlobalData.openingModuleList.isSaved() || !GlobalData.openingPackageList.isSaved()\r
+            || !GlobalData.openingPlatformList.isSaved()) {\r
             result = showSaveDialog();\r
         }\r
         if (result == JOptionPane.YES_OPTION) {\r
@@ -3050,10 +2903,9 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             return;\r
         }\r
         this.cleanDesktopPane();\r
-        this.getCompontentsFromFrameworkDatabase();\r
-        openingModuleList.removeAllFromOpeningModuleList();\r
-        openingPackageList.removeAllFromOpeningPackageList();\r
-        openingPlatformList.removeAllFromOpeningPlatformList();\r
+        GlobalData.openingModuleList.closeAll();\r
+        GlobalData.openingPackageList.closeAll();\r
+        GlobalData.openingPlatformList.closeAll();\r
         this.makeEmptyTree();\r
     }\r
 \r
@@ -3089,8 +2941,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         // Save all modules\r
         //\r
-        for (int index = 0; index < openingModuleList.size(); index++) {\r
-            if (!openingModuleList.getModuleSaved(index)) {\r
+        for (int index = 0; index < GlobalData.openingModuleList.size(); index++) {\r
+            if (!GlobalData.openingModuleList.getModuleSaved(index)) {\r
                 saveModule(index);\r
             }\r
         }\r
@@ -3098,8 +2950,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         // Save all packages\r
         //\r
-        for (int index = 0; index < openingPackageList.size(); index++) {\r
-            if (!openingPackageList.getPackageSaved(index)) {\r
+        for (int index = 0; index < GlobalData.openingPackageList.size(); index++) {\r
+            if (!GlobalData.openingPackageList.getPackageSaved(index)) {\r
                 savePackage(index);\r
             }\r
         }\r
@@ -3107,8 +2959,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         //\r
         // Save all platforms\r
         //\r
-        for (int index = 0; index < openingPlatformList.size(); index++) {\r
-            if (!openingPlatformList.getPlatformSaved(index)) {\r
+        for (int index = 0; index < GlobalData.openingPlatformList.size(); index++) {\r
+            if (!GlobalData.openingPlatformList.getPlatformSaved(index)) {\r
                 savePlatform(index);\r
             }\r
         }\r
@@ -3120,7 +2972,8 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
      **/\r
     private void exit() {\r
         int result = -1;\r
-        if (!openingModuleList.isSaved() || !openingPackageList.isSaved() || !openingPlatformList.isSaved()) {\r
+        if (!GlobalData.openingModuleList.isSaved() || !GlobalData.openingPackageList.isSaved()\r
+            || !GlobalData.openingPlatformList.isSaved()) {\r
             result = showSaveDialog();\r
         }\r
         if (result == JOptionPane.YES_OPTION) {\r
@@ -3275,29 +3128,30 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
         }\r
         if (result == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
             Tools.showInformationMessage("Module Surface Area Clone Finished");\r
-            vModuleList.addElement(c.getMid());\r
+            GlobalData.vModuleList.addElement(c.getMid());\r
             addModuleToTree(c.getMid());\r
         }\r
         if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
             Tools.showInformationMessage("Package Surface Area Clone Finished");\r
-            vPackageList.addElement(c.getPid());\r
+            GlobalData.vPackageList.addElement(c.getPid());\r
             //\r
             // Add new SpdHeader node to the tree\r
             //\r
-            IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vPackageList.lastElement().getName(),\r
+            IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(GlobalData.vPackageList.lastElement().getName(),\r
                                                                        IDefaultMutableTreeNode.SPD_HEADER, true,\r
-                                                                       vPackageList.lastElement());\r
+                                                                       GlobalData.vPackageList.lastElement());\r
             iTree.addNode(dmtnPackageDescription, node);\r
         }\r
         if (result == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) {\r
             Tools.showInformationMessage("Platform Surface Area Clone Finished");\r
-            vPlatformList.addElement(c.getFid());\r
+            GlobalData.vPlatformList.addElement(c.getFid());\r
             //\r
             // Add new SpdHeader node to the tree\r
             //\r
-            IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vPlatformList.lastElement().getName(),\r
+            IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(\r
+                                                                       GlobalData.vPlatformList.lastElement().getName(),\r
                                                                        IDefaultMutableTreeNode.FPD_PLATFORMHEADER,\r
-                                                                       true, vPlatformList.lastElement());\r
+                                                                       true, GlobalData.vPlatformList.lastElement());\r
             iTree.addNode(dmtnPlatformDescription, node);\r
             //this.openPlatform(c.getFid().getPath());\r
         }\r
@@ -3326,18 +3180,22 @@ public class FrameworkWizardUI extends IFrame implements MouseListener, TreeSele
             //\r
             // Enable close/close all if some files are opened\r
             //\r
-            jMenuItemFileClose.setEnabled(openingModuleList.isOpend() || openingPackageList.isOpend()\r
-                                          || openingPlatformList.isOpend());\r
-            jMenuItemFileCloseAll.setEnabled(openingModuleList.isOpend() || openingPackageList.isOpend()\r
-                                             || openingPlatformList.isOpend());\r
+            jMenuItemFileClose.setEnabled(GlobalData.openingModuleList.isOpen()\r
+                                          || GlobalData.openingPackageList.isOpen()\r
+                                          || GlobalData.openingPlatformList.isOpen());\r
+            jMenuItemFileCloseAll.setEnabled(GlobalData.openingModuleList.isOpen()\r
+                                             || GlobalData.openingPackageList.isOpen()\r
+                                             || GlobalData.openingPlatformList.isOpen());\r
 \r
             //\r
             // Enable save/save all if some files are changed\r
             //\r
-            jMenuItemFileSave.setEnabled(!openingModuleList.isSaved() || !openingPackageList.isSaved()\r
-                                         || !openingPlatformList.isSaved());\r
-            jMenuItemFileSaveAll.setEnabled(!openingModuleList.isSaved() || !openingPackageList.isSaved()\r
-                                            || !openingPlatformList.isSaved());\r
+            jMenuItemFileSave.setEnabled(!GlobalData.openingModuleList.isSaved()\r
+                                         || !GlobalData.openingPackageList.isSaved()\r
+                                         || !GlobalData.openingPlatformList.isSaved());\r
+            jMenuItemFileSaveAll.setEnabled(!GlobalData.openingModuleList.isSaved()\r
+                                            || !GlobalData.openingPackageList.isSaved()\r
+                                            || !GlobalData.openingPlatformList.isSaved());\r
         }\r
 \r
         if (arg0.getSource() == jMenuTools) {\r