- \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.err("Open Module Surface Area " + path, e.getMessage());\r
- return;\r
- } catch (XmlException e) {\r
- Log.err("Open Module Surface Area " + path, e.getMessage());\r
- return;\r
- } catch (Exception e) {\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
- //\r
- // Add new MsaHeader node to the tree\r
- //\r
- IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(mid.getName(),\r
- IDefaultMutableTreeNode.MSA_HEADER, true,\r
- mid);\r
- //\r
- // First find the module belongs to which package\r
- //\r
- IDefaultMutableTreeNode packageNode = iTree.getNodeById(dmtnModuleDescription, mid.getPackageId(),\r
- IDefaultMutableTreeNode.MODULE_PACKAGE);\r
- //\r
- // To check if has module node or library node\r
- //\r
- IDefaultMutableTreeNode parentModuleNode = null;\r
- IDefaultMutableTreeNode parentLibraryNode = null;\r
- boolean hasModule = false;\r
- boolean hasLibrary = false;\r
- for (int index = 0; index < packageNode.getChildCount(); index++) {\r
- IDefaultMutableTreeNode iNode = (IDefaultMutableTreeNode) packageNode.getChildAt(index);\r
- if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY) {\r
- hasLibrary = true;\r
- parentLibraryNode = iNode;\r
- }\r
- if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) {\r
- hasModule = true;\r
- parentModuleNode = iNode;\r
- }\r
- }\r
-\r
- //\r
- // If is a module\r
- //\r
- if (!mid.isLibrary()) {\r
- //\r
- // Create parent node first if has no parent node\r
- //\r
- if (!hasModule) {\r
- parentModuleNode = new IDefaultMutableTreeNode("Module",\r
- IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE,\r
- false, mid.getPackageId());\r
- iTree.addNode(packageNode, parentModuleNode);\r
- }\r
-\r
- iTree.addNode(parentModuleNode, node);\r
- }\r
-\r
- //\r
- // If is a Library\r
- //\r
- if (mid.isLibrary()) {\r
- //\r
- // Create parent node first if has no parent node\r
- //\r
- if (!hasLibrary) {\r
- parentLibraryNode = new IDefaultMutableTreeNode("Library",\r
- IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY,\r
- false, mid.getPackageId());\r
- iTree.addNode(packageNode, parentLibraryNode);\r
- }\r
-\r
- iTree.addNode(parentLibraryNode, node);\r
- }\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.MSA_HEADER)));\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
- // Show msa header in editor panel\r
- //\r
- showModuleElement(IDefaultMutableTreeNode.MSA_HEADER, openingModuleList.getOpeningModuleById(id));\r
- this.currentOpeningModuleIndex = openingModuleList.findIndexOfListById(id);\r
- }\r
+\r
+ /**\r
+ Add a module to tree\r
+ \r
+ @param mid The module node to be added\r
+ \r
+ **/\r
+ private void addModuleToTree(ModuleIdentification mid) {\r
+ //\r
+ // Add new MsaHeader node to the tree\r
+ //\r
+ IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(mid.getName(), IDefaultMutableTreeNode.MSA_HEADER,\r
+ true, mid);\r
+ //\r
+ // First find the module belongs to which package\r
+ //\r
+ IDefaultMutableTreeNode packageNode = iTree.getNodeById(dmtnModuleDescription, mid.getPackageId(),\r
+ IDefaultMutableTreeNode.MODULE_PACKAGE);\r
+ //\r
+ // To check if has module node or library node\r
+ //\r
+ IDefaultMutableTreeNode parentModuleNode = null;\r
+ IDefaultMutableTreeNode parentLibraryNode = null;\r
+ boolean hasModule = false;\r
+ boolean hasLibrary = false;\r
+ for (int index = 0; index < packageNode.getChildCount(); index++) {\r
+ IDefaultMutableTreeNode iNode = (IDefaultMutableTreeNode) packageNode.getChildAt(index);\r
+ if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY) {\r
+ hasLibrary = true;\r
+ parentLibraryNode = iNode;\r
+ }\r
+ if (iNode.getCategory() == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) {\r
+ hasModule = true;\r
+ parentModuleNode = iNode;\r
+ }\r
+ }\r
+\r
+ //\r
+ // If is a module\r
+ //\r
+ if (!mid.isLibrary()) {\r
+ //\r
+ // Create parent node first if has no parent node\r
+ //\r
+ if (!hasModule) {\r
+ parentModuleNode = new IDefaultMutableTreeNode("Module", IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE,\r
+ false, mid.getPackageId());\r
+ iTree.addNode(packageNode, parentModuleNode);\r
+ }\r
+\r
+ iTree.addNode(parentModuleNode, node);\r
+ }\r
+\r
+ //\r
+ // If is a Library\r
+ //\r
+ if (mid.isLibrary()) {\r
+ //\r
+ // Create parent node first if has no parent node\r
+ //\r
+ if (!hasLibrary) {\r
+ parentLibraryNode = new IDefaultMutableTreeNode("Library",\r
+ IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY, false,\r
+ mid.getPackageId());\r
+ iTree.addNode(packageNode, parentLibraryNode);\r
+ }\r
+\r
+ iTree.addNode(parentLibraryNode, node);\r
+ }\r
+ }\r