private JTextField getJTextFieldType() {\r
if (jTextFieldType == null) {\r
jTextFieldType = new JTextField();\r
- jTextFieldType.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
+ jTextFieldType.setBounds(new java.awt.Rectangle(210, 10, 320, 20));\r
jTextFieldType.setEditable(false);\r
}\r
return jTextFieldType;\r
private JTextField getJTextFieldSource() {\r
if (jTextFieldSource == null) {\r
jTextFieldSource = new JTextField();\r
- jTextFieldSource.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r
+ jTextFieldSource.setBounds(new java.awt.Rectangle(210, 35, 320, 20));\r
jTextFieldSource.setEditable(false);\r
}\r
return jTextFieldSource;\r
private JButton getJButtonBrowse() {\r
if (jButtonBrowse == null) {\r
jButtonBrowse = new JButton();\r
- jButtonBrowse.setBounds(new java.awt.Rectangle(395, 60, 85, 20));\r
+ jButtonBrowse.setBounds(new java.awt.Rectangle(445, 85, 85, 20));\r
jButtonBrowse.setText("Browse");\r
jButtonBrowse.addActionListener(this);\r
}\r
private JTextField getJTextFieldFilePath() {\r
if (jTextFieldFilePath == null) {\r
jTextFieldFilePath = new JTextField();\r
- jTextFieldFilePath.setBounds(new java.awt.Rectangle(160, 60, 230, 20));\r
+ jTextFieldFilePath.setBounds(new java.awt.Rectangle(210, 85, 230, 20));\r
}\r
return jTextFieldFilePath;\r
}\r
private JTextField getJTextFieldBaseName() {\r
if (jTextFieldBaseName == null) {\r
jTextFieldBaseName = new JTextField();\r
- jTextFieldBaseName.setBounds(new java.awt.Rectangle(160, 110, 320, 20));\r
+ jTextFieldBaseName.setBounds(new java.awt.Rectangle(210, 110, 320, 20));\r
}\r
return jTextFieldBaseName;\r
}\r
private JTextField getJTextFieldGuid() {\r
if (jTextFieldGuid == null) {\r
jTextFieldGuid = new JTextField();\r
- jTextFieldGuid.setBounds(new java.awt.Rectangle(160, 135, 230, 20));\r
+ jTextFieldGuid.setBounds(new java.awt.Rectangle(210, 135, 230, 20));\r
}\r
return jTextFieldGuid;\r
}\r
private JTextField getJTextFieldVersion() {\r
if (jTextFieldVersion == null) {\r
jTextFieldVersion = new JTextField();\r
- jTextFieldVersion.setBounds(new java.awt.Rectangle(160, 160, 320, 20));\r
+ jTextFieldVersion.setBounds(new java.awt.Rectangle(210, 160, 320, 20));\r
}\r
return jTextFieldVersion;\r
}\r
private JButton getJButtonOk() {\r
if (jButtonOk == null) {\r
jButtonOk = new JButton();\r
- jButtonOk.setBounds(new java.awt.Rectangle(235, 200, 90, 20));\r
+ jButtonOk.setBounds(new java.awt.Rectangle(285, 200, 90, 20));\r
jButtonOk.setText("Ok");\r
jButtonOk.addActionListener(this);\r
}\r
private JButton getJButtonCancel() {\r
if (jButtonCancel == null) {\r
jButtonCancel = new JButton();\r
- jButtonCancel.setBounds(new java.awt.Rectangle(355, 200, 90, 20));\r
+ jButtonCancel.setBounds(new java.awt.Rectangle(405, 200, 90, 20));\r
jButtonCancel.setText("Cancel");\r
jButtonCancel.addActionListener(this);\r
}\r
private JButton getJButtonGenerateGuid() {\r
if (jButtonGenerateGuid == null) {\r
jButtonGenerateGuid = new JButton();\r
- jButtonGenerateGuid.setBounds(new java.awt.Rectangle(395, 135, 85, 20));\r
+ jButtonGenerateGuid.setBounds(new java.awt.Rectangle(445, 135, 85, 20));\r
jButtonGenerateGuid.setText("Gen");\r
jButtonGenerateGuid.addActionListener(this);\r
}\r
private JComboBox getJComboBoxExistingPackage() {\r
if (jComboBoxExistingPackage == null) {\r
jComboBoxExistingPackage = new JComboBox();\r
- jComboBoxExistingPackage.setBounds(new java.awt.Rectangle(160, 85, 320, 20));\r
+ jComboBoxExistingPackage.setBounds(new java.awt.Rectangle(210, 60, 320, 20));\r
}\r
return jComboBoxExistingPackage;\r
}\r
* @return void\r
*/\r
private void init() {\r
- this.setSize(493, 260);\r
+ this.setSize(550, 260);\r
this.setContentPane(getJContentPane());\r
this.setTitle("Clone");\r
this.centerWindow();\r
init();\r
if (mode == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
this.jTextFieldType.setText(DataType.MODULE_SURFACE_AREA);\r
- this.jTextFieldSource.setText(oldId.getPath());\r
+ String s = oldId.getPath();\r
+ s = Tools.getRelativePath(s, Tools.getFilePathOnly(wt.getPackageIdByModuleId(oldId).getPath()));\r
+ this.jTextFieldSource.setText(Tools.convertPathToCurrentOsType(s));\r
initExistingPackage();\r
- this.jButtonBrowse.setEnabled(false);\r
+ this.jButtonBrowse.setVisible(false);\r
this.jTextFieldFilePath.setToolTipText("Input module name here. For example, Application\\HelloWorld\\HelloWorld.msa");\r
- this.jLabelDestinationFile.setText("Module Path\\Name");\r
+ this.jTextFieldFilePath.setSize(320, this.jTextFieldFilePath.getSize().height);\r
+ this.jLabelDestinationFile.setText("New Module Path and Filename");\r
}\r
if (mode == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
this.jTextFieldType.setText(DataType.PACKAGE_SURFACE_AREA);\r
- this.jTextFieldSource.setText(oldId.getPath());\r
+ String s = oldId.getPath();\r
+ s = Tools.getRelativePath(oldId.getPath(), Workspace.getCurrentWorkspace());\r
+ this.jTextFieldSource.setText(Tools.convertPathToCurrentOsType(s));\r
this.jLabelBelong.setEnabled(false);\r
this.jComboBoxExistingPackage.setEnabled(false);\r
- this.jButtonBrowse.setEnabled(false);\r
+ this.jButtonBrowse.setVisible(false);\r
this.jTextFieldFilePath.setToolTipText("Input package name here. For example, MdePkg\\MdePkg.fpd");\r
- this.jLabelDestinationFile.setText("Package Path\\Name");\r
+ this.jTextFieldFilePath.setSize(320, this.jTextFieldFilePath.getSize().height);\r
+ this.jLabelDestinationFile.setText("New Package Path and Filename");\r
}\r
if (mode == DataType.RETURN_TYPE_PLATFORM_SURFACE_AREA) {\r
this.jTextFieldType.setText(DataType.PLATFORM_SURFACE_AREA);\r
this.jLabelBelong.setEnabled(false);\r
this.jComboBoxExistingPackage.setEnabled(false);\r
this.jTextFieldFilePath.setToolTipText("Select platform path here. For example, C:\\MyWorkspace\\EdkNt32Pkg\\Nt32.fpd");\r
- this.jLabelDestinationFile.setText("New Platform path");\r
+ this.jLabelDestinationFile.setText("New Platform Path and Filename");\r
}\r
if (mode == DataType.RETURN_TYPE_WORKSPACE) {\r
this.jTextFieldType.setText(DataType.WORKSPACE);\r
this.jLabelVersion.setEnabled(false);\r
this.jTextFieldVersion.setEnabled(false);\r
this.jTextFieldFilePath.setToolTipText("Input workspace path here. For example, C:\\MyWorkspace");\r
- this.jLabelDestinationFile.setText("New Workspace path");\r
+ this.jLabelDestinationFile.setText("New Workspace Path");\r
}\r
}\r
\r
private JPanel getJContentPane() {\r
if (jContentPane == null) {\r
jLabelBelong = new JLabel();\r
- jLabelBelong.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
+ jLabelBelong.setBounds(new java.awt.Rectangle(15, 60, 190, 20));\r
jLabelBelong.setText("Clone to Package");\r
jLabelVersion = new JLabel();\r
- jLabelVersion.setBounds(new java.awt.Rectangle(15, 160, 140, 20));\r
+ jLabelVersion.setBounds(new java.awt.Rectangle(15, 160, 190, 20));\r
jLabelVersion.setText("Version");\r
jLabelGuid = new JLabel();\r
- jLabelGuid.setBounds(new java.awt.Rectangle(15, 135, 140, 20));\r
+ jLabelGuid.setBounds(new java.awt.Rectangle(15, 135, 190, 20));\r
jLabelGuid.setText("Guid");\r
jLabelBaseName = new JLabel();\r
- jLabelBaseName.setBounds(new java.awt.Rectangle(15, 110, 140, 20));\r
+ jLabelBaseName.setBounds(new java.awt.Rectangle(15, 110, 190, 20));\r
jLabelBaseName.setText("Base Name");\r
jLabelDestinationFile = new JLabel();\r
- jLabelDestinationFile.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
+ jLabelDestinationFile.setBounds(new java.awt.Rectangle(15, 85, 190, 20));\r
jLabelDestinationFile.setText("Destination File Name");\r
jLabelSource = new JLabel();\r
- jLabelSource.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
+ jLabelSource.setBounds(new java.awt.Rectangle(15, 35, 190, 20));\r
jLabelSource.setText("Source");\r
jLabelType = new JLabel();\r
- jLabelType.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
+ jLabelType.setBounds(new java.awt.Rectangle(15, 10, 190, 20));\r
jLabelType.setText("Type");\r
jContentPane = new JPanel();\r
jContentPane.setLayout(null);\r
- jContentPane.setSize(new java.awt.Dimension(490, 227));\r
+ jContentPane.setSize(new java.awt.Dimension(540, 227));\r
jContentPane.add(jLabelType, null);\r
jContentPane.add(getJTextFieldType(), null);\r
jContentPane.add(jLabelSource, null);\r
\r
**/\r
private boolean check() {\r
- String src = this.jTextFieldSource.getText();\r
+ String src = this.oldId.getPath();\r
String trg = this.jTextFieldFilePath.getText();\r
File srcFile = new File(src);\r
File trgFile = new File(trg);\r
}\r
\r
private void save() throws IOException, XmlException, Exception {\r
- String src = this.jTextFieldSource.getText();\r
+ String src = this.oldId.getPath();\r
String trg = this.jTextFieldFilePath.getText();\r
Vector<String> vFiles = new Vector<String>();\r
\r
c.setPackageGuid(wt.getPackageIdByModuleId(oldId).getGuid());\r
c.setPackageVersion(wt.getPackageIdByModuleId(oldId).getVersion());\r
c.setId(count.add(new BigInteger("1")));\r
+ String guid = wt.getModuleFarGuid(oldId);\r
+ if (guid != null && !guid.equals("")) {\r
+ c.setFarGuid(guid); \r
+ }\r
\r
cf.addNewCloned();\r
cf.setClonedArray(cf.getClonedList().size() - 1, c);\r
c.setPackageGuid(id.getGuid());\r
c.setPackageVersion(id.getVersion());\r
c.setId(count.add(new BigInteger("1")));\r
+ String guid = wt.getModuleFarGuid(oldId);\r
+ if (guid != null && !guid.equals("")) {\r
+ c.setFarGuid(guid); \r
+ }\r
\r
cf.addNewCloned();\r
cf.setClonedArray(cf.getClonedList().size() - 1, c);\r
c.setPlatformGuid(id.getGuid());\r
c.setPlatformVersion(id.getVersion());\r
c.setId(count.add(new BigInteger("1")));\r
-\r
+ String guid = wt.getModuleFarGuid(oldId);\r
+ if (guid != null && !guid.equals("")) {\r
+ c.setFarGuid(guid); \r
+ }\r
+ \r
cf.addNewCloned();\r
cf.setClonedArray(cf.getClonedList().size() - 1, c);\r
pd.addNewClonedFrom();\r
CreateStepOne cso = new CreateStepOne(this, true);\r
int result = cso.showDialog();\r
if (result == DataType.RETURN_TYPE_OK) {\r
- this.closeAll();\r
+ String strReturn = "Create Far Done!";\r
+ JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);\r
}\r
cso.dispose();\r
}\r
InstallStepOne iso = new InstallStepOne(this, true);\r
int result = iso.showDialog();\r
if (result == DataType.RETURN_TYPE_OK) {\r
+ String strReturn = "<html>Install Far Done! <br>The WORKSPACE will be refreshed!</html>";\r
+ JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);\r
this.closeAll();\r
}\r
iso.dispose();\r
DeleteStepOne dso = new DeleteStepOne(this, true);\r
int result = dso.showDialog();\r
if (result == DataType.RETURN_TYPE_OK) {\r
+ String strReturn = "<html>Delete Far Done! <br>The WORKSPACE will be refreshed!</html>";\r
+ JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);\r
this.closeAll();\r
}\r
dso.dispose();\r
UpdateStepOne uso = new UpdateStepOne(this, true);\r
int result = uso.showDialog();\r
if (result == DataType.RETURN_TYPE_OK) {\r
+ String strReturn = "<html>Update Far Done! <br>The WORKSPACE will be refreshed!</html>";\r
+ JOptionPane.showConfirmDialog(null, strReturn, "Done", JOptionPane.DEFAULT_OPTION, JOptionPane.INFORMATION_MESSAGE);\r
this.closeAll();\r
}\r
uso.dispose();\r
fc.addChoosableFileFilter(new IFileFilter(ext));\r
return fc.showSaveDialog(new JPanel());\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.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
\r
/**\r
Open Module\r
@param path input file path\r
\r
**/\r
- private void openModule(String path) {\r
+ private void openModule(String path, ModuleIdentification moduleId) {\r
ModuleSurfaceAreaDocument.ModuleSurfaceArea msa = null;\r
try {\r
msa = OpenFile.openMsaFile(path);\r
}\r
}\r
if (!isFind) {\r
- ModuleIdentification mid = new ModuleIdentification(id, pid);\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
+ 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
- // 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
+ // 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
- iTree.addNode(parentModuleNode, node);\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
- // 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
+ Open Module\r
\r
- iTree.addNode(parentLibraryNode, node);\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.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);\r
+ vModuleList.addElement(mid);\r
+ addModuleToTree(mid);\r
+ }\r
} else {\r
//\r
// The module is not in existing packages\r
Log.err("The module hasn't been added to any package of current workspace!");\r
return;\r
}\r
- \r
+\r
//\r
// Make the node selected\r
//\r
if (result == DataType.RETURN_TYPE_MODULE_SURFACE_AREA) {\r
Tools.showInformationMessage("Module Surface Area Clone Finished");\r
vModuleList.addElement(c.getMid());\r
- //\r
- // Add new MsaHeader node to the tree\r
- //\r
- IDefaultMutableTreeNode node = new IDefaultMutableTreeNode(vModuleList.lastElement().getName(),\r
- IDefaultMutableTreeNode.MSA_HEADER, true,\r
- vModuleList.lastElement());\r
- iTree.addNode(dmtnModuleDescription, node);\r
+ addModuleToTree(c.getMid());\r
}\r
if (result == DataType.RETURN_TYPE_PACKAGE_SURFACE_AREA) {\r
Tools.showInformationMessage("Package Surface Area Clone Finished");\r
} else {\r
int category = iTree.getSelectCategory();\r
if (category == IDefaultMutableTreeNode.MODULE || category == IDefaultMutableTreeNode.PACKAGE\r
- || category == IDefaultMutableTreeNode.PLATFORM) {\r
+ || category == IDefaultMutableTreeNode.PLATFORM\r
+ || category == IDefaultMutableTreeNode.MODULE_PACKAGE\r
+ || category == IDefaultMutableTreeNode.MODULE_PACKAGE_LIBRARY\r
+ || category == IDefaultMutableTreeNode.MODULE_PACKAGE_MODULE) {\r
jMenuItemToolsClone.setEnabled(false);\r
} else {\r
jMenuItemToolsClone.setEnabled(true);\r
import javax.swing.table.TableModel;\r
\r
import org.tianocore.frameworkwizard.common.DataType;\r
+import org.tianocore.frameworkwizard.common.IFileFilter;\r
import org.tianocore.frameworkwizard.common.Log;\r
import org.tianocore.frameworkwizard.common.Tools;\r
import org.tianocore.frameworkwizard.common.Identifications.ToolChainConfigId;\r
\r
if (arg0.getSource() == jButtonOpen) {\r
JFileChooser fc = new JFileChooser();\r
- fc.setAcceptAllFileFilterUsed(true);\r
+ fc.setAcceptAllFileFilterUsed(false);\r
+ IFileFilter iff = new IFileFilter(DataType.TEXT_FILE_EXT);\r
+ fc.addChoosableFileFilter(iff);\r
fc.setCurrentDirectory(new File(toolsDir));\r
\r
int result = fc.showOpenDialog(new JPanel());\r
\r
if (arg0.getSource() == jButtonSave) {\r
JFileChooser fc = new JFileChooser();\r
- fc.setAcceptAllFileFilterUsed(true);\r
- fc.setSelectedFile(new File(currentFile));\r
+ fc.setAcceptAllFileFilterUsed(false);\r
+ IFileFilter iff = new IFileFilter(DataType.TEXT_FILE_EXT);\r
+ fc.addChoosableFileFilter(iff);\r
+ fc.setCurrentDirectory(new File(toolsDir));\r
\r
int result = fc.showSaveDialog(new JPanel());\r
if (result == JFileChooser.APPROVE_OPTION) {\r
public static final int SPACE_TO_RIGHT_FOR_REMOVE_BUTTON = 95;\r
\r
public static final int SPACE_TO_RIGHT_FOR_UPDATE_BUTTON = 10;\r
- \r
+\r
public static final int SPACE_TO_BOTTOM_FOR_ADD_BUTTON = 30;\r
\r
public static final int SPACE_TO_BOTTOM_FOR_REMOVE_BUTTON = 30;\r
// First defined here\r
// Will be replaced by resource file later\r
//\r
- public static final String SUP_ARCH_LIST_HELP_TEXT = "Deselecting a checkbox will restrict this module for use with the selected architectures, based on the list of items that are checked. If all boxes are checked, then the module will support all current AND FUTURE architectures";\r
+ public static final String SUP_ARCH_LIST_HELP_TEXT = "<html>Selecting a checkbox means supporting the selected architectures;<br> None of boxes are checked means supporting all architectures<html>";\r
\r
//\r
// Project name and version\r
vModuleType.addElement("UEFI_DRIVER");\r
vModuleType.addElement("UEFI_APPLICATION");\r
vModuleType.addElement("USER_DEFINED");\r
+ Tools.sortVectorString(vModuleType, DataType.SORT_TYPE_ASCENDING);\r
}\r
\r
// private void initComponentType() {\r
vFrameworkModuleTypes.addElement("UEFI_DRIVER");\r
vFrameworkModuleTypes.addElement("UEFI_APPLICATION");\r
vFrameworkModuleTypes.addElement("USER_DEFINED");\r
+ Tools.sortVectorString(vFrameworkModuleTypes, DataType.SORT_TYPE_ASCENDING);\r
}\r
\r
private void initLibClassDef() {\r
if (strExt.equals(DataType.TEXT_FILE_EXT))\r
return DataType.TEXT_FILE_EXT_DESCRIPTION;\r
if (strExt.equals(DataType.FAR_SURFACE_AREA_EXT))\r
- return DataType.FAR_SURFACE_AREA_EXT_DESCRIPTION;\r
+ return DataType.FAR_SURFACE_AREA_EXT_DESCRIPTION;\r
return "";\r
}\r
\r
match = DataType.FILE_EXT_SEPARATOR + DataType.TEXT_FILE_EXT;\r
}\r
if (type == DataType.RETURN_TYPE_FAR_SURFACE_AREA) {\r
- match = DataType.FILE_EXT_SEPARATOR + DataType.FAR_SURFACE_AREA_EXT;\r
- }\r
+ match = DataType.FILE_EXT_SEPARATOR + DataType.FAR_SURFACE_AREA_EXT;\r
+ }\r
if (path.length() <= match.length()) {\r
path = path + match;\r
return path;\r
import javax.swing.JPanel;\r
import javax.swing.JCheckBox;\r
\r
+import org.tianocore.frameworkwizard.common.DataType;\r
+\r
public class ArchCheckBox extends JPanel {\r
\r
///\r
jCheckBoxIa32 = new JCheckBox();\r
jCheckBoxIa32.setBounds(new java.awt.Rectangle(0, 0, 50, 20));\r
jCheckBoxIa32.setText("IA32");\r
+ jCheckBoxIa32.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
}\r
return jCheckBoxIa32;\r
}\r
jCheckBoxX64 = new JCheckBox();\r
jCheckBoxX64.setBounds(new java.awt.Rectangle(50, 0, 50, 20));\r
jCheckBoxX64.setText("X64");\r
+ jCheckBoxX64.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
}\r
return jCheckBoxX64;\r
}\r
jCheckBoxIpf = new JCheckBox();\r
jCheckBoxIpf.setBounds(new java.awt.Rectangle(100, 0, 50, 20));\r
jCheckBoxIpf.setText("IPF");\r
+ jCheckBoxIpf.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
}\r
return jCheckBoxIpf;\r
}\r
jCheckBoxEbc = new JCheckBox();\r
jCheckBoxEbc.setBounds(new java.awt.Rectangle(150, 0, 50, 20));\r
jCheckBoxEbc.setText("EBC");\r
+ jCheckBoxEbc.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
}\r
return jCheckBoxEbc;\r
}\r
jCheckBoxArm = new JCheckBox();\r
jCheckBoxArm.setBounds(new java.awt.Rectangle(200, 0, 55, 20));\r
jCheckBoxArm.setText("ARM");\r
+ jCheckBoxArm.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
}\r
return jCheckBoxArm;\r
}\r
jCheckBoxPpc = new JCheckBox();\r
jCheckBoxPpc.setBounds(new java.awt.Rectangle(255, 0, 50, 20));\r
jCheckBoxPpc.setText("PPC");\r
+ jCheckBoxPpc.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
}\r
return jCheckBoxPpc;\r
}\r
this.add(getJCheckBoxEbc(), null);\r
this.add(getJCheckBoxArm(), null);\r
this.add(getJCheckBoxPpc(), null);\r
+ this.setToolTipText(DataType.SUP_ARCH_LIST_HELP_TEXT);\r
}\r
\r
public Vector<String> getSelectedItemsVector() {\r
}\r
\r
private void showEdit(int index) {\r
- SourceFilesDlg sfd = new SourceFilesDlg(this.vSourceFiles.getSourceFiles(index), new IFrame());\r
+ SourceFilesDlg sfd = new SourceFilesDlg(this.vSourceFiles.getSourceFiles(index), new IFrame(), omt.getId().getPath());\r
int result = sfd.showDialog();\r
if (result == DataType.RETURN_TYPE_OK) {\r
if (index == -1) {\r
jTextFieldSpecification.setLocation(new java.awt.Point(160, 435));\r
jTextFieldSpecification.setEditable(false);\r
jTextFieldSpecification.addFocusListener(this);\r
- jTextFieldSpecification\r
- .setToolTipText("Deselecting a checkbox"\r
- + " will restrict this module for use with the selected architectures, "\r
- + "based on the list of items that are checked. "\r
- + "If all boxes are checked, "\r
- + "then the module will support all current AND FUTURE architectures");\r
}\r
return jTextFieldSpecification;\r
}\r
// }\r
// this.msaHeader.setSpecification(this.jTextFieldSpecification.getText());\r
\r
+ msaHeader.setSpecification(this.jTextFieldSpecification.getText());\r
msa.setMsaHeader(msaHeader);\r
this.omt.setSaved(false);\r
} catch (Exception e) {\r
package org.tianocore.frameworkwizard.module.ui.dialog;\r
\r
import java.awt.event.ActionEvent;\r
+import java.io.File;\r
import java.util.Vector;\r
\r
import javax.swing.JButton;\r
import org.tianocore.frameworkwizard.common.DataType;\r
import org.tianocore.frameworkwizard.common.DataValidation;\r
import org.tianocore.frameworkwizard.common.Log;\r
+import org.tianocore.frameworkwizard.common.Tools;\r
import org.tianocore.frameworkwizard.common.ui.ArchCheckBox;\r
import org.tianocore.frameworkwizard.common.ui.IDialog;\r
import org.tianocore.frameworkwizard.common.ui.IFrame;\r
import org.tianocore.frameworkwizard.common.ui.StarLabel;\r
import org.tianocore.frameworkwizard.module.Identifications.SourceFiles.SourceFilesIdentification;\r
-import org.tianocore.frameworkwizard.workspace.Workspace;\r
\r
/**\r
The class is used to create, update SourceFile of MSA/MBD file\r
private JTextField jTextFieldFeatureFlag = null;\r
\r
private ArchCheckBox jArchCheckBox = null;\r
+ \r
+ private JButton jButtonOk = null;\r
+\r
+ private JButton jButtonCancel = null;\r
\r
//\r
// Not used by UI\r
//\r
private SourceFilesIdentification sfid = null;\r
\r
- private JButton jButtonOk = null;\r
-\r
- private JButton jButtonCancel = null;\r
+ private String msaFileName = "";\r
\r
/**\r
This method initializes jTextFieldFileName \r
This is the default constructor\r
\r
**/\r
- public SourceFilesDlg(SourceFilesIdentification inSourceFilesIdentification, IFrame iFrame) {\r
+ public SourceFilesDlg(SourceFilesIdentification inSourceFilesIdentification, IFrame iFrame, String fileName) {\r
super(iFrame, true);\r
- init(inSourceFilesIdentification);\r
+ init(inSourceFilesIdentification, fileName);\r
}\r
\r
/**\r
@param inSourceFiles The input data of SourceFilesDocument.SourceFiles\r
\r
**/\r
- private void init(SourceFilesIdentification inSourceFilesIdentifications) {\r
+ private void init(SourceFilesIdentification inSourceFilesIdentifications, String fileName) {\r
init();\r
this.sfid = inSourceFilesIdentifications;\r
+ this.msaFileName = fileName;\r
\r
if (this.sfid != null) {\r
this.jTextFieldFileName.setText(sfid.getFilename());\r
\r
**/\r
private void selectFile() {\r
- JFileChooser fc = new JFileChooser(Workspace.getCurrentWorkspace());\r
-\r
+ JFileChooser fc = new JFileChooser();\r
+ fc.setCurrentDirectory(new File(Tools.getFilePathOnly(msaFileName)));\r
int result = fc.showOpenDialog(new JPanel());\r
if (result == JFileChooser.APPROVE_OPTION) {\r
this.jTextFieldFileName.setText(fc.getSelectedFile().getName());\r
import org.tianocore.frameworkwizard.workspace.Workspace;\r
\r
public class PlatformIdentification extends Identification{\r
- \r
- \r
+\r
public PlatformIdentification(String name, String guid, String version, String path){\r
super(name, guid, version, path);\r
}\r
}\r
\r
public void addFarToDb(List<String> packageList, List<String> platformList, FarHeader far) {\r
- FrameworkDatabase fdb = openFrameworkDb();\r
- \r
- for (int i = 0; i < packageList.size(); i++) {\r
- DbPathAndFilename item = DbPathAndFilename.Factory.newInstance();\r
- item.setFarGuid(far.getGuidValue());\r
- item.setStringValue(packageList.get(i));\r
- fdb.getPackageList().getFilenameList().add(item);\r
- }\r
- \r
- for (int i = 0; i < platformList.size(); i++) {\r
- DbPathAndFilename item = DbPathAndFilename.Factory.newInstance();\r
- item.setFarGuid(far.getGuidValue());\r
- item.setStringValue(platformList.get(i));\r
- fdb.getPlatformList().getFilenameList().add(item);\r
- }\r
- \r
- DbPathAndFilename farItem = DbPathAndFilename.Factory.newInstance();\r
- farItem.setFarGuid(far.getGuidValue());\r
- farItem.setStringValue(far.getFarName());\r
- fdb.getFarList().getFilenameList().add(farItem);\r
- \r
- String strFrameworkDbFilePath = Workspace.getCurrentWorkspace() + Workspace.getStrWorkspaceDatabaseFile();\r
- strFrameworkDbFilePath = Tools.convertPathToCurrentOsType(strFrameworkDbFilePath);\r
- \r
- try {\r
- SaveFile.saveDbFile(strFrameworkDbFilePath, fdb);\r
- }\r
- catch (Exception e) {\r
- e.printStackTrace();\r
- }\r
+ FrameworkDatabase fdb = openFrameworkDb();\r
+\r
+ for (int i = 0; i < packageList.size(); i++) {\r
+ DbPathAndFilename item = DbPathAndFilename.Factory.newInstance();\r
+ item.setFarGuid(far.getGuidValue());\r
+ item.setStringValue(packageList.get(i));\r
+ fdb.getPackageList().getFilenameList().add(item);\r
+ }\r
+\r
+ for (int i = 0; i < platformList.size(); i++) {\r
+ DbPathAndFilename item = DbPathAndFilename.Factory.newInstance();\r
+ item.setFarGuid(far.getGuidValue());\r
+ item.setStringValue(platformList.get(i));\r
+ fdb.getPlatformList().getFilenameList().add(item);\r
+ }\r
+\r
+ DbPathAndFilename farItem = DbPathAndFilename.Factory.newInstance();\r
+ farItem.setFarGuid(far.getGuidValue());\r
+ farItem.setStringValue(far.getFarName());\r
+ fdb.getFarList().getFilenameList().add(farItem);\r
+\r
+ String strFrameworkDbFilePath = Workspace.getCurrentWorkspace() + Workspace.getStrWorkspaceDatabaseFile();\r
+ strFrameworkDbFilePath = Tools.convertPathToCurrentOsType(strFrameworkDbFilePath);\r
+\r
+ try {\r
+ SaveFile.saveDbFile(strFrameworkDbFilePath, fdb);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
}\r
- \r
- \r
+\r
public void removeFarFromDb(FarIdentification far) {\r
FrameworkDatabase fdb = openFrameworkDb();\r
//\r
XmlCursor cursor = fdb.getPackageList().newCursor();\r
cursor.toFirstChild();\r
do {\r
- DbPathAndFilename item = (DbPathAndFilename)cursor.getObject();\r
- \r
- if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
- cursor.removeXml();\r
- }\r
+ DbPathAndFilename item = (DbPathAndFilename) cursor.getObject();\r
+\r
+ if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
+ cursor.removeXml();\r
+ }\r
} while (cursor.toNextSibling());\r
cursor.dispose();\r
- \r
+\r
//\r
// Remove Platforms\r
//\r
cursor = fdb.getPlatformList().newCursor();\r
cursor.toFirstChild();\r
do {\r
- DbPathAndFilename item = (DbPathAndFilename)cursor.getObject();\r
- if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
- cursor.removeXml();\r
- }\r
+ DbPathAndFilename item = (DbPathAndFilename) cursor.getObject();\r
+ if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
+ cursor.removeXml();\r
+ }\r
} while (cursor.toNextSibling());\r
- \r
+\r
//\r
// Remove Far\r
//\r
cursor = fdb.getFarList().newCursor();\r
cursor.toFirstChild();\r
do {\r
- DbPathAndFilename item = (DbPathAndFilename)cursor.getObject();\r
- if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
- cursor.removeXml();\r
- }\r
+ DbPathAndFilename item = (DbPathAndFilename) cursor.getObject();\r
+ if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
+ cursor.removeXml();\r
+ }\r
} while (cursor.toNextSibling());\r
cursor.dispose();\r
- \r
+\r
String strFrameworkDbFilePath = Workspace.getCurrentWorkspace() + Workspace.getStrWorkspaceDatabaseFile();\r
strFrameworkDbFilePath = Tools.convertPathToCurrentOsType(strFrameworkDbFilePath);\r
try {\r
- SaveFile.saveDbFile(strFrameworkDbFilePath, fdb);\r
- }\r
- catch (Exception e) {\r
- e.printStackTrace();\r
- }\r
- }\r
- \r
- public String getPackageFarGuid(PackageIdentification packageId) {\r
- openFrameworkDb();\r
- \r
- for (int index = 0; index < fdb.getPackageList().getFilenameList().size(); index++) {\r
- DbPathAndFilename item = fdb.getPackageList().getFilenameArray(index);\r
- String path = Workspace.getCurrentWorkspace() + DataType.FILE_SEPARATOR\r
- + item.getStringValue();\r
- File tempFile = new File(path);\r
- if (tempFile.getPath().equalsIgnoreCase(packageId.getSpdFile().getPath())) {\r
- return fdb.getPackageList().getFilenameArray(index).getFarGuid();\r
- }\r
- }\r
- \r
- return null;\r
- }\r
- \r
- public String getPlatformFarGuid(PlatformIdentification platformId) {\r
- openFrameworkDb();\r
- \r
- for (int index = 0; index < fdb.getPlatformList().getFilenameList().size(); index++) {\r
- DbPathAndFilename item = fdb.getPlatformList().getFilenameArray(index);\r
- String path = Workspace.getCurrentWorkspace() + DataType.FILE_SEPARATOR\r
- + item.getStringValue();\r
- File tempFile = new File(path);\r
- if (tempFile.getPath().equalsIgnoreCase(platformId.getFpdFile().getPath())) {\r
- return fdb.getPlatformList().getFilenameArray(index).getFarGuid();\r
- }\r
- }\r
- \r
- return null;\r
- }\r
- \r
- public String getModuleFarGuid(ModuleIdentification moduleId) {\r
- PackageIdentification packageId = getPackageIdByModuleId(moduleId);\r
- if (packageId != null) {\r
- return getPackageFarGuid(packageId);\r
- }\r
- else {\r
+ SaveFile.saveDbFile(strFrameworkDbFilePath, fdb);\r
+ } catch (Exception e) {\r
+ e.printStackTrace();\r
+ }\r
+ }\r
+\r
+ public String getPackageFarGuid(Identification packageId) {\r
+ openFrameworkDb();\r
+\r
+ for (int index = 0; index < fdb.getPackageList().getFilenameList().size(); index++) {\r
+ DbPathAndFilename item = fdb.getPackageList().getFilenameArray(index);\r
+ String path = Workspace.getCurrentWorkspace() + DataType.FILE_SEPARATOR + item.getStringValue();\r
+ File tempFile = new File(path);\r
+ if (tempFile.getPath().equalsIgnoreCase(packageId.getPath())) {\r
+ return fdb.getPackageList().getFilenameArray(index).getFarGuid();\r
+ }\r
+ }\r
+\r
return null;\r
- }\r
}\r
+\r
+ public String getPlatformFarGuid(Identification platformId) {\r
+ openFrameworkDb();\r
+\r
+ for (int index = 0; index < fdb.getPlatformList().getFilenameList().size(); index++) {\r
+ DbPathAndFilename item = fdb.getPlatformList().getFilenameArray(index);\r
+ String path = Workspace.getCurrentWorkspace() + DataType.FILE_SEPARATOR + item.getStringValue();\r
+ File tempFile = new File(path);\r
+ if (tempFile.getPath().equalsIgnoreCase(platformId.getPath())) {\r
+ return fdb.getPlatformList().getFilenameArray(index).getFarGuid();\r
+ }\r
+ }\r
+\r
+ return null;\r
+ }\r
+\r
+ public String getModuleFarGuid(Identification moduleId) {\r
+ PackageIdentification packageId = getPackageIdByModuleId(moduleId);\r
+ if (packageId != null) {\r
+ return getPackageFarGuid(packageId);\r
+ } else {\r
+ return null;\r
+ }\r
+ }\r
+\r
/**\r
Get all modules' paths from one package\r
\r
}\r
return modulePath;\r
}\r
- \r
+\r
/**\r
- Get all Industry Std Includes' paths from one package\r
- \r
- @return a Vector with all paths\r
- \r
- **/\r
- public Vector<String> getAllIndustryStdIncludesOfPackage(String path) {\r
- Vector<String> includePath = new Vector<String>();\r
- try {\r
- IndustryStdIncludes files = OpenFile.openSpdFile(path).getIndustryStdIncludes();\r
- if (files != null) {\r
- for (int index = 0; index < files.getIndustryStdHeaderList().size(); index++) {\r
- String temp = files.getIndustryStdHeaderList().get(index).getName();\r
- temp = Tools.addFileSeparator(Tools.getFilePathOnly(path)) + temp;\r
- temp = Tools.convertPathToCurrentOsType(temp);\r
- includePath.addElement(temp);\r
- }\r
- }\r
- } catch (IOException e) {\r
-\r
- } catch (XmlException e) {\r
-\r
- } catch (Exception e) {\r
-\r
- }\r
- return includePath;\r
- }\r
+ Get all Industry Std Includes' paths from one package\r
+ \r
+ @return a Vector with all paths\r
+ \r
+ **/\r
+ public Vector<String> getAllIndustryStdIncludesOfPackage(String path) {\r
+ Vector<String> includePath = new Vector<String>();\r
+ try {\r
+ IndustryStdIncludes files = OpenFile.openSpdFile(path).getIndustryStdIncludes();\r
+ if (files != null) {\r
+ for (int index = 0; index < files.getIndustryStdHeaderList().size(); index++) {\r
+ String temp = files.getIndustryStdHeaderList().get(index).getIncludeHeader();\r
+ temp = Tools.addFileSeparator(Tools.getFilePathOnly(path)) + temp;\r
+ temp = Tools.convertPathToCurrentOsType(temp);\r
+ includePath.addElement(temp);\r
+ }\r
+ }\r
+ } catch (IOException e) {\r
+\r
+ } catch (XmlException e) {\r
+\r
+ } catch (Exception e) {\r
+\r
+ }\r
+ return includePath;\r
+ }\r
\r
/**\r
Get all package basic information form the FrameworkDatabase.db file\r
}\r
\r
public Vector<FarIdentification> getAllFars() {\r
- openFrameworkDb();\r
- Vector<FarIdentification> v = new Vector<FarIdentification>();\r
- for (int index = 0; index < fdb.getFarList().getFilenameList().size(); index++) {\r
- DbPathAndFilename item = fdb.getFarList().getFilenameList().get(index);\r
- FarIdentification far = new FarIdentification(item.getFarGuid(), item.getMd5Sum(), item.getStringValue());\r
- v.addElement(far);\r
- }\r
- return v;\r
- }\r
- \r
+ openFrameworkDb();\r
+ Vector<FarIdentification> v = new Vector<FarIdentification>();\r
+ for (int index = 0; index < fdb.getFarList().getFilenameList().size(); index++) {\r
+ DbPathAndFilename item = fdb.getFarList().getFilenameList().get(index);\r
+ FarIdentification far = new FarIdentification(item.getFarGuid(), item.getMd5Sum(), item.getStringValue());\r
+ v.addElement(far);\r
+ }\r
+ return v;\r
+ }\r
+\r
public Vector<PackageIdentification> getPackagesByFar(FarIdentification far) {\r
- Identification id = null;\r
- openFrameworkDb();\r
- Vector<PackageIdentification> v = new Vector<PackageIdentification>();\r
- \r
- for (int index = 0; index < fdb.getPackageList().getFilenameList().size(); index++) {\r
- DbPathAndFilename item = fdb.getPackageList().getFilenameArray(index);\r
- String path = Workspace.getCurrentWorkspace() + DataType.FILE_SEPARATOR\r
- + item.getStringValue();\r
- path = Tools.convertPathToCurrentOsType(path);\r
- \r
- if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
- \r
- try {\r
- id = getId(path, OpenFile.openSpdFile(path));\r
- v.addElement(new PackageIdentification(id));\r
- } catch (IOException e) {\r
- Log.err("Open Package Surface Area " + path, e.getMessage());\r
- e.printStackTrace();\r
- } catch (XmlException e) {\r
- Log.err("Open Package Surface Area " + path, e.getMessage());\r
- e.printStackTrace();\r
- } catch (Exception e) {\r
- Log.err("Open Package Surface Area " + path, "Invalid file type");\r
- e.printStackTrace();\r
- }\r
+ Identification id = null;\r
+ openFrameworkDb();\r
+ Vector<PackageIdentification> v = new Vector<PackageIdentification>();\r
+\r
+ for (int index = 0; index < fdb.getPackageList().getFilenameList().size(); index++) {\r
+ DbPathAndFilename item = fdb.getPackageList().getFilenameArray(index);\r
+ String path = Workspace.getCurrentWorkspace() + DataType.FILE_SEPARATOR + item.getStringValue();\r
+ path = Tools.convertPathToCurrentOsType(path);\r
+\r
+ if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
+\r
+ try {\r
+ id = getId(path, OpenFile.openSpdFile(path));\r
+ v.addElement(new PackageIdentification(id));\r
+ } catch (IOException e) {\r
+ Log.err("Open Package Surface Area " + path, e.getMessage());\r
+ e.printStackTrace();\r
+ } catch (XmlException e) {\r
+ Log.err("Open Package Surface Area " + path, e.getMessage());\r
+ e.printStackTrace();\r
+ } catch (Exception e) {\r
+ Log.err("Open Package Surface Area " + path, "Invalid file type");\r
+ e.printStackTrace();\r
+ }\r
+ }\r
}\r
- }\r
- return v;\r
+ return v;\r
}\r
- \r
+\r
public Vector<PlatformIdentification> getPlatformsByFar(FarIdentification far) {\r
- Identification id = null;\r
- openFrameworkDb();\r
- Vector<PlatformIdentification> v = new Vector<PlatformIdentification>();\r
- \r
- for (int index = 0; index < fdb.getPlatformList().getFilenameList().size(); index++) {\r
- DbPathAndFilename item = fdb.getPlatformList().getFilenameArray(index);\r
- String path = Workspace.getCurrentWorkspace() + DataType.FILE_SEPARATOR\r
- + item.getStringValue();\r
- path = Tools.convertPathToCurrentOsType(path);\r
- \r
- if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
- try {\r
- id = getId(path, OpenFile.openFpdFile(path));\r
- v.addElement(new PlatformIdentification(id));\r
- } catch (IOException e) {\r
- Log.err("Open Platform Surface Area " + path, e.getMessage());\r
- e.printStackTrace();\r
- } catch (XmlException e) {\r
- Log.err("Open Platform Surface Area " + path, e.getMessage());\r
- e.printStackTrace();\r
- } catch (Exception e) {\r
- Log.err("Open Platform Surface Area " + path, "Invalid file type");\r
- e.printStackTrace();\r
- }\r
+ Identification id = null;\r
+ openFrameworkDb();\r
+ Vector<PlatformIdentification> v = new Vector<PlatformIdentification>();\r
+\r
+ for (int index = 0; index < fdb.getPlatformList().getFilenameList().size(); index++) {\r
+ DbPathAndFilename item = fdb.getPlatformList().getFilenameArray(index);\r
+ String path = Workspace.getCurrentWorkspace() + DataType.FILE_SEPARATOR + item.getStringValue();\r
+ path = Tools.convertPathToCurrentOsType(path);\r
+\r
+ if (item.getFarGuid() != null && item.getFarGuid().equalsIgnoreCase(far.getGuid())) {\r
+ try {\r
+ id = getId(path, OpenFile.openFpdFile(path));\r
+ v.addElement(new PlatformIdentification(id));\r
+ } catch (IOException e) {\r
+ Log.err("Open Platform Surface Area " + path, e.getMessage());\r
+ e.printStackTrace();\r
+ } catch (XmlException e) {\r
+ Log.err("Open Platform Surface Area " + path, e.getMessage());\r
+ e.printStackTrace();\r
+ } catch (Exception e) {\r
+ Log.err("Open Platform Surface Area " + path, "Invalid file type");\r
+ e.printStackTrace();\r
+ }\r
+ }\r
}\r
- }\r
- return v;\r
+ return v;\r
}\r
\r
/**\r
Get all module basic information from a package\r
- \r
+ \r
@param id Package id\r
@return A vector includes all modules' basic information\r
- \r
- **/\r
+ \r
+ **/\r
public Vector<ModuleIdentification> getAllModules(PackageIdentification pid) {\r
Vector<ModuleIdentification> v = new Vector<ModuleIdentification>();\r
Vector<String> modulePaths = this.getAllModulesOfPackage(pid.getPath());\r
Identification id = null;\r
String modulePath = null;\r
- \r
+\r
for (int index = 0; index < modulePaths.size(); index++) {\r
try {\r
modulePath = modulePaths.get(index);\r
}\r
Tools.sortModules(v, DataType.SORT_TYPE_ASCENDING);\r
return v;\r
- \r
+\r
}\r
\r
/**\r
for (int indexI = 0; indexI < vPackageList.size(); indexI++) {\r
packagePath = vPackageList.elementAt(indexI).getPath();\r
modulePaths = this.getAllModulesOfPackage(packagePath);\r
- \r
+\r
for (int indexJ = 0; indexJ < modulePaths.size(); indexJ++) {\r
try {\r
modulePath = modulePaths.get(indexJ);\r
} catch (IOException e) {\r
\r
} catch (XmlException e) {\r
- \r
+\r
} catch (Exception e) {\r
\r
}\r
// First add package\r
//\r
v.addElement(path);\r
- \r
+\r
//\r
// Add the package's industry std includes one by one\r
//\r
for (int index = 0; index < f1.size(); index++) {\r
v.addElement(f1.get(index));\r
}\r
- \r
+\r
//\r
// Add module's files one by one\r
//\r