+ showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id));\r
+ this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
+ }\r
+\r
+ /**\r
+ Open Module\r
+\r
+ @param path input file path\r
+ \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
+ //\r
+ // The module is not in existing packages\r
+ //\r
+ Log.wrn("Open Module", "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