+++ /dev/null
-/** @file\r
- \r
- The file is used to create, update Include of MSA/MBD file\r
- \r
- Copyright (c) 2006, Intel Corporation\r
- All rights reserved. This program and the accompanying materials\r
- are licensed and made available under the terms and conditions of the BSD License\r
- which accompanies this distribution. The full text of the license may be found at\r
- http://opensource.org/licenses/bsd-license.php\r
- \r
- THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
- WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
- \r
- **/\r
-package org.tianocore.packaging.module.ui;\r
-\r
-import java.awt.event.ActionEvent;\r
-import java.awt.event.ItemEvent;\r
-import java.awt.event.ItemListener;\r
-import java.util.Vector;\r
-\r
-import javax.swing.JButton;\r
-import javax.swing.JCheckBox;\r
-import javax.swing.JComboBox;\r
-import javax.swing.JLabel;\r
-import javax.swing.JPanel;\r
-import javax.swing.JTextField;\r
-\r
-import org.tianocore.IncludesDocument;\r
-import org.tianocore.PackageNameDocument;\r
-import org.tianocore.PackageType;\r
-import org.tianocore.PackageUsage;\r
-import org.tianocore.SupportedArchitectures;\r
-import org.tianocore.common.DataValidation;\r
-import org.tianocore.common.Log;\r
-import org.tianocore.packaging.common.ui.IDefaultMutableTreeNode;\r
-import org.tianocore.packaging.common.ui.IInternalFrame;\r
-import org.tianocore.packaging.common.ui.StarLabel;\r
-import org.tianocore.packaging.workspace.common.Workspace;\r
-\r
-/**\r
- The class is used to create, update Include of MSA/MBD file\r
- It extends IInternalFrame\r
- \r
- @since ModuleEditor 1.0\r
-\r
- **/\r
-public class ModuleIncludes extends IInternalFrame implements ItemListener {\r
-\r
- ///\r
- /// Define class Serial Version UID\r
- ///\r
- private static final long serialVersionUID = 3465193035145152131L;\r
-\r
- //\r
- //Define class members\r
- //\r
- private IncludesDocument.Includes includes = null;\r
-\r
- private int location = -1;\r
- \r
- private int intSelectedItemId = 0;\r
-\r
- //\r
- // 1 - Add; 2 - Update\r
- //\r
- private int operation = -1;\r
-\r
- private Vector<String> vPackageName = new Vector<String>();\r
-\r
- private Vector<String> vUsage = new Vector<String>();\r
-\r
- private Vector<String> vPackageType = new Vector<String>();\r
-\r
- private Vector<String> vUpdatedDate = new Vector<String>();\r
-\r
- private JPanel jContentPane = null;\r
-\r
- private JButton jButtonOk = null;\r
-\r
- private JButton jButtonCancel = null;\r
-\r
- private JLabel jLabelPackageName = null;\r
-\r
- private JLabel jLabelPackageType = null;\r
-\r
- private JComboBox jComboBoxPackageType = null;\r
-\r
- private JLabel jLabelUsage = null;\r
-\r
- private JComboBox jComboBoxUsage = null;\r
-\r
- private StarLabel jStarLabel1 = null;\r
-\r
- private JComboBox jComboBoxFileList = null;\r
-\r
- private JButton jButtonAdd = null;\r
-\r
- private JButton jButtonUpdate = null;\r
-\r
- private JButton jButtonRemove = null;\r
-\r
- private JLabel jLabelUpdatedDate = null;\r
-\r
- private JTextField jTextFieldUpdatedDate = null;\r
-\r
- private JCheckBox jCheckBoxArch = null;\r
-\r
- private JComboBox jComboBoxArch = null;\r
-\r
- private JComboBox jComboBoxPackageName = null;\r
- \r
- private Workspace ws = null;\r
- \r
- private Vector vecPackageName = null;\r
-\r
- /**\r
- This method initializes jButtonOk \r
- \r
- @return javax.swing.JButton jButtonOk\r
- \r
- **/\r
- private JButton getJButton() {\r
- if (jButtonOk == null) {\r
- jButtonOk = new JButton();\r
- jButtonOk.setText("OK");\r
- jButtonOk.setBounds(new java.awt.Rectangle(290, 165, 90, 20));\r
- jButtonOk.addActionListener(this);\r
-\r
- }\r
- return jButtonOk;\r
- }\r
-\r
- /**\r
- This method initializes jButtonCancel \r
- \r
- @return javax.swing.JButton jButtonCancel\r
- \r
- **/\r
- private JButton getJButton1() {\r
- if (jButtonCancel == null) {\r
- jButtonCancel = new JButton();\r
- jButtonCancel.setText("Cancel");\r
- jButtonCancel.setBounds(new java.awt.Rectangle(390, 165, 90, 20));\r
- jButtonCancel.addActionListener(this);\r
- }\r
- return jButtonCancel;\r
- }\r
-\r
- /**\r
- This method initializes jComboBoxPackageType \r
- \r
- @return javax.swing.JComboBox jComboBoxPackageType\r
- \r
- **/\r
- private JComboBox getJComboBoxPackageType() {\r
- if (jComboBoxPackageType == null) {\r
- jComboBoxPackageType = new JComboBox();\r
- jComboBoxPackageType.setBounds(new java.awt.Rectangle(160, 35, 320, 20));\r
- }\r
- return jComboBoxPackageType;\r
- }\r
-\r
- /**\r
- This method initializes jComboBoxUsage \r
- \r
- @return javax.swing.JComboBox jComboBoxUsage\r
- \r
- **/\r
- private JComboBox getJComboBoxUsage() {\r
- if (jComboBoxUsage == null) {\r
- jComboBoxUsage = new JComboBox();\r
- jComboBoxUsage.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
- }\r
- return jComboBoxUsage;\r
- }\r
-\r
- /**\r
- This method initializes jComboBoxFileList \r
- \r
- @return javax.swing.JComboBox jComboBoxFileList\r
- \r
- **/\r
- private JComboBox getJComboBoxFileList() {\r
- if (jComboBoxFileList == null) {\r
- jComboBoxFileList = new JComboBox();\r
- jComboBoxFileList.setBounds(new java.awt.Rectangle(15, 110, 210, 20));\r
- jComboBoxFileList.addActionListener(this);\r
- jComboBoxFileList.addItemListener(this);\r
- }\r
- return jComboBoxFileList;\r
- }\r
-\r
- /**\r
- This method initializes jButtonAdd \r
- \r
- @return javax.swing.JButton jButtonAdd\r
- \r
- **/\r
- private JButton getJButtonAdd() {\r
- if (jButtonAdd == null) {\r
- jButtonAdd = new JButton();\r
- jButtonAdd.setBounds(new java.awt.Rectangle(230, 110, 80, 20));\r
- jButtonAdd.setText("Add");\r
- jButtonAdd.addActionListener(this);\r
- }\r
- return jButtonAdd;\r
- }\r
-\r
- /**\r
- This method initializes jButtonUpdate \r
- \r
- @return javax.swing.JButton jButtonUpdate\r
- \r
- **/\r
- private JButton getJButtonUpdate() {\r
- if (jButtonUpdate == null) {\r
- jButtonUpdate = new JButton();\r
- jButtonUpdate.setBounds(new java.awt.Rectangle(315, 110, 80, 20));\r
- jButtonUpdate.setText("Update");\r
- jButtonUpdate.addActionListener(this);\r
- }\r
- return jButtonUpdate;\r
- }\r
-\r
- /**\r
- This method initializes jButtonRemove \r
- \r
- @return javax.swing.JButton jButtonRemove\r
- \r
- **/\r
- private JButton getJButtonRemove() {\r
- if (jButtonRemove == null) {\r
- jButtonRemove = new JButton();\r
- jButtonRemove.setBounds(new java.awt.Rectangle(400, 110, 80, 20));\r
- jButtonRemove.setText("Remove");\r
- jButtonRemove.addActionListener(this);\r
- }\r
- return jButtonRemove;\r
- }\r
-\r
- /**\r
- This method initializes jTextFieldUpdatedDate \r
- \r
- @return javax.swing.JTextField jTextFieldUpdatedDate\r
- \r
- **/\r
- private JTextField getJTextFieldUpdatedDate() {\r
- if (jTextFieldUpdatedDate == null) {\r
- jTextFieldUpdatedDate = new JTextField();\r
- jTextFieldUpdatedDate.setBounds(new java.awt.Rectangle(160, 85, 320, 20));\r
- }\r
- return jTextFieldUpdatedDate;\r
- }\r
-\r
- /**\r
- This method initializes jCheckBoxArch \r
- \r
- @return javax.swing.JCheckBox jCheckBoxArch\r
- \r
- **/\r
- private JCheckBox getJCheckBoxArch() {\r
- if (jCheckBoxArch == null) {\r
- jCheckBoxArch = new JCheckBox();\r
- jCheckBoxArch.setBounds(new java.awt.Rectangle(10, 135, 120, 20));\r
- jCheckBoxArch.setText("Specific Arch");\r
- jCheckBoxArch.addActionListener(this);\r
- }\r
- return jCheckBoxArch;\r
- }\r
-\r
- /**\r
- This method initializes jComboBoxArch \r
- \r
- @return javax.swing.JComboBox jComboBoxArch\r
- \r
- **/\r
- private JComboBox getJComboBoxArch() {\r
- if (jComboBoxArch == null) {\r
- jComboBoxArch = new JComboBox();\r
- jComboBoxArch.setBounds(new java.awt.Rectangle(140, 135, 340, 20));\r
- jComboBoxArch.setEnabled(false);\r
- }\r
- return jComboBoxArch;\r
- }\r
-\r
- /**\r
- * This method initializes jComboBoxPackageName \r
- * \r
- * @return javax.swing.JComboBox \r
- */\r
- private JComboBox getJComboBoxPackageName() {\r
- if (jComboBoxPackageName == null) {\r
- jComboBoxPackageName = new JComboBox();\r
- jComboBoxPackageName.setBounds(new java.awt.Rectangle(160,10,320,20));\r
- }\r
- return jComboBoxPackageName;\r
- }\r
-\r
- public static void main(String[] args) {\r
-\r
- }\r
-\r
- /**\r
- This is the default constructor\r
- \r
- **/\r
- public ModuleIncludes() {\r
- super();\r
- init();\r
- this.setVisible(true);\r
- }\r
-\r
- /**\r
- This is the override edit constructor\r
- \r
- @param inIncludes The input data of IncludesDocument.Includes\r
- \r
- **/\r
- public ModuleIncludes(IncludesDocument.Includes inIncludes) {\r
- super();\r
- init(inIncludes);\r
- this.setVisible(true);\r
- }\r
-\r
- /**\r
- This is the override edit constructor\r
- \r
- @param inIncludes The input data of IncludesDocument.Includes\r
- @param type The input data of node type\r
- @param index The input data of node index\r
- \r
- **/\r
- public ModuleIncludes(IncludesDocument.Includes inIncludes, int type, int index) {\r
- super();\r
- this.setVisible(true);\r
- }\r
-\r
- /**\r
- This is the override edit constructor\r
- \r
- @param inIncludes The input data of IncludesDocument.Includes\r
- @param type The input data of node type\r
- @param index The input data of node index\r
- @param inOperation The input data of current operation type\r
- \r
- **/\r
- public ModuleIncludes(IncludesDocument.Includes inIncludes, int type, int index, int inOperation) {\r
- super();\r
- init(inIncludes, type, index, inOperation);\r
- this.operation = inOperation;\r
- this.setVisible(true);\r
- }\r
-\r
- /**\r
- This method initializes this\r
- \r
- @param inIncludes\r
- \r
- **/\r
- private void init(IncludesDocument.Includes inIncludes) {\r
- init();\r
- this.setIncludes(inIncludes);\r
- }\r
-\r
- /**\r
- This method initializes this\r
- Fill values to all fields if these values are not empty\r
- \r
- @param inIncludes The input data of IncludesDocument.Includes\r
- @param type The input data of node type\r
- @param index The input data of node index\r
- @param inOperation The input data of current operation type\r
- \r
- **/\r
- private void init(IncludesDocument.Includes inIncludes, int type, int index, int inOperation) {\r
- init(inIncludes);\r
- this.location = index;\r
- this.operation = inOperation;\r
-\r
- if (operation == 2) {\r
- this.jCheckBoxArch.setEnabled(false);\r
- this.jComboBoxArch.setEnabled(false);\r
-\r
- if (type == IDefaultMutableTreeNode.INCLUDES_PACKAGENAME) {\r
- if (this.includes.getPackageNameList().size() > 0) {\r
- for (int indexI = 0; indexI < this.includes.getPackageNameList().size(); indexI++) {\r
- if (this.includes.getPackageNameArray(indexI).getStringValue() != null) {\r
- vPackageName.addElement(this.includes.getPackageNameArray(indexI).getStringValue());\r
- } else {\r
- vPackageName.addElement("");\r
- }\r
- if (this.includes.getPackageNameArray(indexI).getUsage() != null) {\r
- vUsage.addElement(this.includes.getPackageNameArray(indexI).getUsage().toString());\r
- } else {\r
- vUsage.addElement("ALWAYS_CONSUMED");\r
- }\r
- if (this.includes.getPackageNameArray(indexI).getPackageType() != null) {\r
- vPackageType.addElement(this.includes.getPackageNameArray(indexI).getPackageType()\r
- .toString());\r
- } else {\r
- vPackageType.addElement("SOURCE");\r
- }\r
- if (this.includes.getPackageNameArray(indexI).getUpdatedDate() != null) {\r
- vUpdatedDate.addElement(this.includes.getPackageNameArray(indexI).getUpdatedDate());\r
- } else {\r
- vUpdatedDate.addElement("");\r
- }\r
- jComboBoxFileList.addItem(this.includes.getPackageNameArray(indexI).getStringValue());\r
- }\r
- }\r
- }\r
- if (type == IDefaultMutableTreeNode.INCLUDES_ARCH_ITEM) {\r
- this.jCheckBoxArch.setSelected(true);\r
- this.jComboBoxArch.setSelectedItem(this.includes.getArchArray(index).getArchType().toString());\r
- for (int indexI = 0; indexI < this.includes.getArchArray(index).getPackageNameList().size(); indexI++) {\r
- if (this.includes.getArchArray(index).getPackageNameArray(indexI).getStringValue() != null) {\r
- vPackageName.addElement(this.includes.getArchArray(index).getPackageNameArray(indexI)\r
- .getStringValue());\r
- } else {\r
- vPackageName.addElement("");\r
- }\r
- if (this.includes.getArchArray(index).getPackageNameArray(indexI).getUsage() != null) {\r
- vUsage.addElement(this.includes.getArchArray(index).getPackageNameArray(indexI).getUsage()\r
- .toString());\r
- } else {\r
- vUsage.addElement("");\r
- }\r
- if (this.includes.getArchArray(index).getPackageNameArray(indexI).getPackageType() != null) {\r
- vPackageType.addElement(this.includes.getArchArray(index).getPackageNameArray(indexI)\r
- .getPackageType().toString());\r
- } else {\r
- vPackageType.addElement("");\r
- }\r
- if (this.includes.getArchArray(index).getPackageNameArray(indexI).getUpdatedDate() != null) {\r
- vUpdatedDate.addElement(this.includes.getArchArray(index).getPackageNameArray(indexI)\r
- .getUpdatedDate());\r
- } else {\r
- vUpdatedDate.addElement("");\r
- }\r
- jComboBoxFileList.addItem(this.includes.getArchArray(index).getPackageNameArray(indexI)\r
- .getStringValue());\r
- }\r
- }\r
- }\r
- }\r
-\r
- /**\r
- This method initializes this\r
- \r
- **/\r
- private void init() {\r
- this.setSize(500, 515);\r
- this.setContentPane(getJContentPane());\r
- this.setTitle("Includes");\r
- initFrame();\r
- this.setViewMode(false);\r
- }\r
-\r
- /**\r
- Disable all components when the mode is view\r
- \r
- @param isView true - The view mode; false - The non-view mode\r
- \r
- **/\r
- public void setViewMode(boolean isView) {\r
- this.jButtonOk.setVisible(false);\r
- this.jButtonCancel.setVisible(false);\r
- if (isView) {\r
- this.jComboBoxPackageType.setEnabled(!isView);\r
- this.jComboBoxUsage.setEnabled(!isView);\r
- this.jComboBoxPackageName.setEnabled(!isView);\r
- this.jButtonAdd.setEnabled(!isView);\r
- this.jButtonUpdate.setEnabled(!isView);\r
- this.jButtonRemove.setEnabled(!isView);\r
- this.jTextFieldUpdatedDate.setEnabled(!isView);\r
- this.jCheckBoxArch.setEnabled(!isView);\r
- this.jComboBoxArch.setEnabled(!isView);\r
-\r
- this.jButtonCancel.setEnabled(!isView);\r
- this.jButtonOk.setEnabled(!isView);\r
- }\r
- }\r
-\r
- /**\r
- This method initializes jContentPane\r
- \r
- @return javax.swing.JPanel jContentPane\r
- \r
- **/\r
- private JPanel getJContentPane() {\r
- if (jContentPane == null) {\r
- jLabelUpdatedDate = new JLabel();\r
- jLabelUpdatedDate.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
- jLabelUpdatedDate.setText("Updated Date");\r
- jLabelUsage = new JLabel();\r
- jLabelUsage.setBounds(new java.awt.Rectangle(15, 60, 140, 20));\r
- jLabelUsage.setText("Usage");\r
- jLabelPackageType = new JLabel();\r
- jLabelPackageType.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
- jLabelPackageType.setText("Package Type");\r
- jLabelPackageName = new JLabel();\r
- jLabelPackageName.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
- jLabelPackageName.setText("Package Name");\r
- jContentPane = new JPanel();\r
- jContentPane.setLayout(null);\r
- jContentPane.add(getJButton(), null);\r
- jContentPane.add(getJButton1(), null);\r
- jContentPane.add(jLabelPackageName, null);\r
- jContentPane.add(jLabelPackageType, null);\r
- jContentPane.add(getJComboBoxPackageType(), null);\r
- jContentPane.add(jLabelUsage, null);\r
- jContentPane.add(getJComboBoxUsage(), null);\r
-\r
- jStarLabel1 = new StarLabel();\r
- jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
-\r
- jContentPane.add(jStarLabel1, null);\r
- jContentPane.add(getJComboBoxFileList(), null);\r
- jContentPane.add(getJButtonAdd(), null);\r
- jContentPane.add(getJButtonUpdate(), null);\r
- jContentPane.add(getJButtonRemove(), null);\r
- jContentPane.add(jLabelUpdatedDate, null);\r
- jContentPane.add(getJTextFieldUpdatedDate(), null);\r
- jContentPane.add(getJCheckBoxArch(), null);\r
- jContentPane.add(getJComboBoxArch(), null);\r
- jContentPane.add(getJComboBoxPackageName(), null);\r
- }\r
- return jContentPane;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
- *\r
- * Override actionPerformed to listen all actions\r
- * \r
- */\r
- public void actionPerformed(ActionEvent arg0) {\r
- if (arg0.getSource() == jButtonOk) {\r
- this.setEdited(true);\r
- this.save();\r
- this.dispose();\r
- }\r
- if (arg0.getSource() == jButtonCancel) {\r
- this.dispose();\r
- }\r
- if (arg0.getSource() == jButtonAdd) {\r
- if (!checkAdd()) {\r
- return;\r
- }\r
- addToList();\r
- }\r
- if (arg0.getSource() == jButtonRemove) {\r
- removeFromList();\r
- }\r
- if (arg0.getSource() == jButtonUpdate) {\r
- if (!checkAdd()) {\r
- return;\r
- }\r
- updateForList();\r
- }\r
-\r
- //\r
- //When and only when checked Arch box then can choose different arch types\r
- //\r
- if (arg0.getSource() == jCheckBoxArch) {\r
- if (this.jCheckBoxArch.isSelected()) {\r
- this.jComboBoxArch.setEnabled(true);\r
- } else {\r
- this.jComboBoxArch.setEnabled(false);\r
- }\r
- }\r
- }\r
-\r
- /**\r
- This method initializes Usage type, Package type and Arch type\r
- \r
- **/\r
- private void initFrame() {\r
- ws = new Workspace();\r
- vecPackageName = ws.getAllPackageName();\r
- for (int index = 0; index < vecPackageName.size(); index++) {\r
- jComboBoxPackageName.addItem(vecPackageName.elementAt(index));\r
- }\r
- \r
- jComboBoxUsage.addItem("ALWAYS_CONSUMED");\r
- jComboBoxUsage.addItem("ALWAYS_PRODUCED");\r
- jComboBoxUsage.addItem("DEFAULT");\r
-\r
- jComboBoxPackageType.addItem("SOURCE");\r
- jComboBoxPackageType.addItem("BINARY");\r
- jComboBoxPackageType.addItem("MIXED");\r
-\r
- jComboBoxArch.addItem("ALL");\r
- jComboBoxArch.addItem("EBC");\r
- jComboBoxArch.addItem("ARM");\r
- jComboBoxArch.addItem("IA32");\r
- jComboBoxArch.addItem("X64");\r
- jComboBoxArch.addItem("IPF");\r
- jComboBoxArch.addItem("PPC");\r
- }\r
-\r
- /**\r
- Add current item to Vector\r
- \r
- **/\r
- private void addToList() {\r
- intSelectedItemId = vPackageName.size();\r
- vPackageName.addElement(this.jComboBoxPackageName.getSelectedItem().toString());\r
- vUsage.addElement(this.jComboBoxUsage.getSelectedItem().toString());\r
- vPackageType.addElement(this.jComboBoxPackageType.getSelectedItem().toString());\r
- vUpdatedDate.addElement(this.jTextFieldUpdatedDate.getText());\r
- jComboBoxFileList.addItem(this.jComboBoxPackageName.getSelectedItem().toString());\r
- jComboBoxFileList.setSelectedItem(this.jComboBoxPackageName.getSelectedItem().toString());\r
- \r
- //\r
- // Reset select item index\r
- //\r
- intSelectedItemId = vPackageName.size();\r
- \r
- //\r
- // Reload all fields of selected item\r
- //\r
- reloadFromList();\r
- }\r
-\r
- /**\r
- Remove item from Vector\r
- \r
- **/\r
- private void removeFromList() {\r
- int intTempIndex = intSelectedItemId;\r
- if (vPackageName.size() < 1) {\r
- return;\r
- }\r
- \r
- jComboBoxFileList.removeItemAt(intSelectedItemId);\r
- \r
- vPackageName.removeElementAt(intTempIndex);\r
- vUsage.removeElementAt(intTempIndex);\r
- vPackageType.removeElementAt(intTempIndex);\r
- vUpdatedDate.removeElementAt(intTempIndex);\r
- \r
- //\r
- // Reload all fields of selected item\r
- //\r
- reloadFromList();\r
- }\r
-\r
- /**\r
- Update current item of Vector\r
- \r
- **/\r
- private void updateForList() {\r
- //\r
- // Backup selected item index\r
- //\r
- int intTempIndex = intSelectedItemId;\r
- \r
- vPackageName.setElementAt(this.jComboBoxPackageName.getSelectedItem().toString(), intSelectedItemId);\r
- vUsage.setElementAt(this.jComboBoxUsage.getSelectedItem().toString(), intSelectedItemId);\r
- vPackageType.setElementAt(this.jComboBoxPackageType.getSelectedItem().toString(), intSelectedItemId);\r
- vUpdatedDate.setElementAt(this.jTextFieldUpdatedDate.getText(), intSelectedItemId);\r
- \r
- jComboBoxFileList.removeAllItems();\r
- for (int index = 0; index < vPackageName.size(); index++) {\r
- jComboBoxFileList.addItem(vPackageName.elementAt(index));\r
- }\r
- \r
- //\r
- // Restore selected item index\r
- //\r
- intSelectedItemId = intTempIndex;\r
- \r
- //\r
- // Reset select item index\r
- //\r
- jComboBoxFileList.setSelectedIndex(intSelectedItemId);\r
- \r
- //\r
- // Reload all fields of selected item\r
- //\r
- reloadFromList();\r
- }\r
-\r
- /**\r
- Refresh all fields' values of selected item of Vector\r
- \r
- **/\r
- private void reloadFromList() {\r
- if (vPackageName.size() > 0) {\r
- //\r
- // Get selected item index\r
- //\r
- intSelectedItemId = jComboBoxFileList.getSelectedIndex();\r
- \r
- this.jComboBoxPackageName.setSelectedItem(vPackageName.elementAt(intSelectedItemId).toString());\r
- this.jComboBoxUsage.setSelectedItem(vUsage.elementAt(intSelectedItemId).toString());\r
- this.jComboBoxPackageType.setSelectedItem(vPackageType.elementAt(intSelectedItemId).toString());\r
- this.jTextFieldUpdatedDate.setText(vUpdatedDate.elementAt(intSelectedItemId).toString());\r
- } else {\r
- this.jComboBoxPackageName.setSelectedIndex(0);\r
- this.jComboBoxUsage.setSelectedIndex(0);\r
- this.jComboBoxPackageType.setSelectedIndex(0);\r
- this.jTextFieldUpdatedDate.setText("");\r
- }\r
- }\r
-\r
- /**\r
- Get IncludesDocument.Includes\r
- \r
- @return IncludesDocument.Includes\r
- \r
- **/\r
- public IncludesDocument.Includes getIncludes() {\r
- return includes;\r
- }\r
-\r
- /**\r
- Set IncludesDocument.Includes\r
- \r
- @param includes IncludesDocument.Includes\r
- \r
- **/\r
- public void setIncludes(IncludesDocument.Includes includes) {\r
- this.includes = includes;\r
- }\r
-\r
- /* (non-Javadoc)\r
- * @see java.awt.event.ItemListener#itemStateChanged(java.awt.event.ItemEvent)\r
- *\r
- * Reflesh the frame when selected item changed\r
- * \r
- */\r
- public void itemStateChanged(ItemEvent arg0) {\r
- if (arg0.getStateChange() == ItemEvent.SELECTED) {\r
- reloadFromList();\r
- }\r
- }\r
-\r
- /**\r
- Data validation for all fields\r
- \r
- @retval true - All datas are valid\r
- @retval false - At least one data is invalid\r
- \r
- **/\r
- public boolean check() {\r
- if (this.jComboBoxFileList.getItemCount() < 1) {\r
- Log.err("Must have one include at least!");\r
- return false;\r
- }\r
- return true;\r
- }\r
-\r
- /**\r
- Data validation for all fields before add current item to Vector\r
- \r
- @retval true - All datas are valid\r
- @retval false - At least one data is invalid\r
- \r
- **/\r
- public boolean checkAdd() {\r
- //\r
- // Check if all fields have correct data types \r
- //\r
- if (!isEmpty(this.jTextFieldUpdatedDate.getText())\r
- && !DataValidation.isDateType(this.jTextFieldUpdatedDate.getText())) {\r
- Log.err("Incorrect data type for Update Date");\r
- return false;\r
- }\r
-\r
- return true;\r
- }\r
-\r
- /**\r
- Save all components of Includes\r
- if exists includes, set the value directly\r
- if not exists includes, new an instance first\r
- \r
- **/\r
- public void save() {\r
- try {\r
- if (this.includes == null) {\r
- includes = IncludesDocument.Includes.Factory.newInstance();\r
- }\r
- //\r
- //Save as file name\r
- //\r
- if (!this.jCheckBoxArch.isSelected()) {\r
- if (this.operation == 2) { //Add new packageName\r
- //\r
- //First remove all existed packageName\r
- //\r
- if (includes.getPackageNameList().size() > 0) {\r
- for (int index = includes.getPackageNameList().size() - 1; index >= 0; index--) {\r
- includes.removePackageName(index);\r
- }\r
- }\r
- }\r
- for (int index = 0; index < vPackageName.size(); index++) {\r
- PackageNameDocument.PackageName packageName = PackageNameDocument.PackageName.Factory.newInstance();\r
- if (!isEmpty(vPackageName.elementAt(index).toString())) {\r
- packageName.setStringValue(vPackageName.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vUsage.elementAt(index).toString())) {\r
- packageName.setUsage(PackageUsage.Enum.forString(vUsage.elementAt(index).toString()));\r
- }\r
- if (!isEmpty(vPackageType.elementAt(index).toString())) {\r
- packageName\r
- .setPackageType(PackageType.Enum.forString(vPackageType.elementAt(index).toString()));\r
- }\r
- if (!isEmpty(vUpdatedDate.elementAt(index).toString())) {\r
- packageName.setUpdatedDate(vUpdatedDate.elementAt(index).toString());\r
- }\r
- includes.addNewPackageName();\r
- includes.setPackageNameArray(includes.getPackageNameList().size() - 1, packageName);\r
- }\r
- }\r
- //\r
- //Save as Arch\r
- //\r
- if (this.jCheckBoxArch.isSelected()) {\r
- IncludesDocument.Includes.Arch arch = IncludesDocument.Includes.Arch.Factory.newInstance();\r
- if (this.operation == 2) {\r
- //\r
- //First remove all existed filename\r
- //\r
- for (int index = includes.getArchArray(location).getPackageNameList().size() - 1; index >= 0; index--) {\r
- includes.getArchArray(location).removePackageName(index);\r
- }\r
- }\r
-\r
- for (int index = 0; index < vPackageName.size(); index++) {\r
- PackageNameDocument.PackageName packageName = PackageNameDocument.PackageName.Factory.newInstance();\r
- if (!isEmpty(vPackageName.elementAt(index).toString())) {\r
- packageName.setStringValue(vPackageName.elementAt(index).toString());\r
- }\r
- if (!isEmpty(vUsage.elementAt(index).toString())) {\r
- packageName.setUsage(PackageUsage.Enum.forString(vUsage.elementAt(index).toString()));\r
- }\r
- if (!isEmpty(vPackageType.elementAt(index).toString())) {\r
- packageName\r
- .setPackageType(PackageType.Enum.forString(vPackageType.elementAt(index).toString()));\r
- }\r
- if (!isEmpty(vUpdatedDate.elementAt(index).toString())) {\r
- packageName.setUpdatedDate(vUpdatedDate.elementAt(index).toString());\r
- }\r
- arch.addNewPackageName();\r
- arch.setPackageNameArray(arch.getPackageNameList().size() - 1, packageName);\r
- }\r
- arch\r
- .setArchType(SupportedArchitectures.Enum.forString(this.jComboBoxArch.getSelectedItem().toString()));\r
- if (location > -1) {\r
- includes.setArchArray(location, arch);\r
- } else {\r
- includes.addNewArch();\r
- includes.setArchArray(includes.getArchList().size() - 1, arch);\r
- }\r
- }\r
- } catch (Exception e) {\r
- Log.err("Update Source Files", e.getMessage());\r
- }\r
- }\r
-}\r