/** @file\r
+ <<The file is used to create, update Data Hub Record entries in a MSA file.>>\r
\r
- The file is used to create, update DataHub of MSA/MBD file\r
+ <<The DataHbsDlg is a dialog called to add or edit a Data Hub Record within a MSA file.>>\r
\r
Copyright (c) 2006, Intel Corporation\r
All rights reserved. This program and the accompanying materials\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
+ Package Name: Tools\r
+ Module Name: FrameworkWizard\r
+ \r
**/\r
\r
package org.tianocore.frameworkwizard.module.ui.dialog;\r
import javax.swing.JPanel;\r
import javax.swing.JScrollPane;\r
import javax.swing.JTextField;\r
+import javax.swing.JTextArea;\r
\r
import org.tianocore.frameworkwizard.common.DataType;\r
import org.tianocore.frameworkwizard.common.DataValidation;\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.ModuleIdentification;\r
import org.tianocore.frameworkwizard.module.Identifications.DataHubs.DataHubsIdentification;\r
+import org.tianocore.frameworkwizard.workspace.WorkspaceTools;\r
\r
/**\r
- The class is used to create, update DataHub of MSA/MBD file\r
- It extends IInternalFrame\r
- \r
-\r
-\r
- **/\r
+ * The class is used to create, update DataHub of the MSA file\r
+ * \r
+ * It extends IDialog\r
+ * \r
+ */\r
public class DataHubsDlg extends IDialog {\r
\r
- ///\r
- /// Define class Serial Version UID\r
- ///\r
+ // /\r
+ // / Define class Serial Version UID\r
+ // /\r
private static final long serialVersionUID = -3667906991966638892L;\r
\r
//\r
- //Define class members\r
+ // Define class members\r
//\r
private JPanel jContentPane = null;\r
\r
\r
private JLabel jLabelHelpText = null;\r
\r
- private JTextField jTextFieldHelpText = null;\r
+ private JTextArea jTextAreaHelpText = null;\r
+\r
+ private JScrollPane jScrollPaneHelpText = null;\r
\r
private ArchCheckBox jArchCheckBox = null;\r
\r
private DataHubsIdentification id = null;\r
\r
private EnumerationData ed = new EnumerationData();\r
+ \r
+ private WorkspaceTools wt = new WorkspaceTools();\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, 35, 320, 20));\r
- jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20));\r
- }\r
- return jComboBoxUsage;\r
- }\r
-\r
- /**\r
- This method initializes jTextFieldDataHubRecord \r
- \r
- @return javax.swing.JTextField jTextFieldDataHubRecord\r
- \r
- **/\r
+ * This method initializes jTextFieldDataHubRecord\r
+ * \r
+ * @return javax.swing.JTextField jTextFieldDataHubRecord\r
+ * \r
+ */\r
private JTextField getJTextFieldDataHubRecord() {\r
if (jTextFieldDataHubRecord == null) {\r
jTextFieldDataHubRecord = new JTextField();\r
- jTextFieldDataHubRecord.setBounds(new java.awt.Rectangle(160, 10, 320, 20));\r
+ jTextFieldDataHubRecord.setBounds(new java.awt.Rectangle(168, 12, 320, 20));\r
jTextFieldDataHubRecord.setPreferredSize(new java.awt.Dimension(320, 20));\r
jTextFieldDataHubRecord.setToolTipText("Enter the C Name of the Data Hub Record");\r
}\r
}\r
\r
/**\r
- * This method initializes jTextFieldFeatureFlag \r
- * \r
- * @return javax.swing.JTextField \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(168, 37, 320, 20));\r
+ jComboBoxUsage.setPreferredSize(new java.awt.Dimension(320, 20));\r
+ jComboBoxUsage\r
+ .setToolTipText("<html><table>"\r
+ + "<tr><td>ALWAYS_CONSUMED</td><td>Module always consumes a Data Hub Entry<br>via registering a filter driver.</td></tr>"\r
+ + "<tr><td>SOMETIMES_CONSUMED</td><td>Module will use a Data Hub Entry if it exists<br>via registering a filter driver</td></tr>"\r
+ + "<tr><td>ALWAYS_PRODUCED</td><td>Always logs data into the Data Hub</td></tr>"\r
+ + "<tr><td>SOMETIMES_PRODUCED</td><td>Log data into the Data Hub under<br>certain circumstances</td></tr>"\r
+ + "</table></html>");\r
+ }\r
+ return jComboBoxUsage;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jTextFieldFeatureFlag\r
+ * \r
+ * @return javax.swing.JTextField\r
*/\r
private JTextField getJTextFieldFeatureFlag() {\r
if (jTextFieldFeatureFlag == null) {\r
jTextFieldFeatureFlag = new JTextField();\r
- jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(160, 85, 320, 20));\r
+ jTextFieldFeatureFlag.setBounds(new java.awt.Rectangle(168, 132, 320, 20));\r
jTextFieldFeatureFlag.setPreferredSize(new java.awt.Dimension(320, 20));\r
+ jTextFieldFeatureFlag.setToolTipText("Postfix expression that must evaluate to TRUE or FALSE");\r
+ jTextFieldFeatureFlag.setEnabled(false);\r
}\r
return jTextFieldFeatureFlag;\r
}\r
\r
/**\r
- This method initializes jScrollPane \r
- \r
- @return javax.swing.JScrollPane \r
+ * This method initializes jScrollPane\r
+ * \r
+ * @return javax.swing.JScrollPane\r
*/\r
private JScrollPane getJScrollPane() {\r
if (jScrollPane == null) {\r
}\r
\r
/**\r
- This method initializes jTextFieldHelpText \r
- \r
- @return javax.swing.JTextField \r
- \r
- **/\r
- private JTextField getJTextFieldHelpText() {\r
- if (jTextFieldHelpText == null) {\r
- jTextFieldHelpText = new JTextField();\r
- jTextFieldHelpText.setBounds(new java.awt.Rectangle(160, 60, 320, 20));\r
- jTextFieldHelpText.setPreferredSize(new java.awt.Dimension(320, 20));\r
+ * This method initializes jTextAreaHelpText\r
+ * \r
+ * @return javax.swing.JTextArea\r
+ * \r
+ */\r
+ private JTextArea getJTextAreaHelpText() {\r
+ if (jTextAreaHelpText == null) {\r
+ jTextAreaHelpText = new JTextArea();\r
+ jTextAreaHelpText.setLineWrap(true);\r
+ jTextAreaHelpText.setWrapStyleWord(true);\r
+ }\r
+ return jTextAreaHelpText;\r
+ }\r
+\r
+ /**\r
+ * This method initializes jScrollPaneHelpText\r
+ * \r
+ * @return javax.swing.JScrollPane\r
+ * \r
+ */\r
+ private JScrollPane getJScrollPaneHelpText() {\r
+ if (jScrollPaneHelpText == null) {\r
+ jScrollPaneHelpText = new JScrollPane();\r
+ jScrollPaneHelpText.setHorizontalScrollBarPolicy(javax.swing.JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);\r
+ jScrollPaneHelpText.setSize(new java.awt.Dimension(320, 40));\r
+ jScrollPaneHelpText.setPreferredSize(new java.awt.Dimension(320, 40));\r
+ jScrollPaneHelpText.setLocation(new java.awt.Point(168, 62));\r
+ jScrollPaneHelpText.setViewportView(getJTextAreaHelpText());\r
}\r
- return jTextFieldHelpText;\r
+ return jScrollPaneHelpText;\r
}\r
\r
/**\r
- This method initializes jButtonOk \r
- \r
- @return javax.swing.JButton \r
- \r
- **/\r
+ * This method initializes jButtonOk\r
+ * \r
+ * @return javax.swing.JButton\r
+ * \r
+ */\r
private JButton getJButtonOk() {\r
if (jButtonOk == null) {\r
jButtonOk = new JButton();\r
- jButtonOk.setBounds(new java.awt.Rectangle(290, 140, 90, 20));\r
+ jButtonOk.setBounds(new java.awt.Rectangle(290, 162, 90, 20));\r
jButtonOk.setText("Ok");\r
jButtonOk.addActionListener(this);\r
}\r
}\r
\r
/**\r
- This method initializes jButtonCancel \r
- \r
- @return javax.swing.JButton \r
- \r
- **/\r
+ * This method initializes jButtonCancel\r
+ * \r
+ * @return javax.swing.JButton\r
+ * \r
+ */\r
private JButton getJButtonCancel() {\r
if (jButtonCancel == null) {\r
jButtonCancel = new JButton();\r
- jButtonCancel.setBounds(new java.awt.Rectangle(390, 140, 90, 20));\r
+ jButtonCancel.setBounds(new java.awt.Rectangle(390, 162, 90, 20));\r
jButtonCancel.setText("Cancel");\r
jButtonCancel.addActionListener(this);\r
}\r
}\r
\r
/**\r
- This method initializes this\r
- \r
- **/\r
+ * This method initializes this\r
+ * \r
+ */\r
private void init() {\r
- this.setSize(500, 200);\r
+ this.setSize(505, 235);\r
this.setContentPane(getJScrollPane());\r
this.setTitle("Data Hubs");\r
initFrame();\r
}\r
\r
/**\r
- This method initializes this\r
- Fill values to all fields if these values are not empty\r
- \r
- @param inDataHubsId\r
-\r
- **/\r
- private void init(DataHubsIdentification inDataHubsId) {\r
+ * This method initializes this Fill values to all fields if these values are\r
+ * not empty\r
+ * \r
+ * @param inDataHubsId\r
+ * \r
+ */\r
+ private void init(DataHubsIdentification inDataHubsId, ModuleIdentification mid) {\r
init();\r
this.id = inDataHubsId;\r
\r
+ //\r
+ // Init arch with module's arch\r
+ //\r
+ this.jArchCheckBox.setEnabledItems(wt.getModuleArch(mid));\r
+ \r
if (this.id != null) {\r
this.jTextFieldDataHubRecord.setText(id.getName());\r
this.jComboBoxUsage.setSelectedItem(id.getUsage());\r
- this.jTextFieldHelpText.setText(id.getHelp());\r
+ this.jTextAreaHelpText.setText(id.getHelp());\r
this.jTextFieldFeatureFlag.setText(id.getFeatureFlag());\r
this.jArchCheckBox.setSelectedItems(id.getSupArchList());\r
}\r
}\r
\r
/**\r
- This is the override edit constructor\r
- \r
- @param inDataHubsIdentification\r
- @param iFrame\r
- \r
- **/\r
- public DataHubsDlg(DataHubsIdentification inDataHubsIdentification, IFrame iFrame) {\r
+ * This is the override edit constructor\r
+ * \r
+ * @param inDataHubsIdentification\r
+ * @param iFrame\r
+ * \r
+ */\r
+ public DataHubsDlg(DataHubsIdentification inDataHubsIdentification, IFrame iFrame, ModuleIdentification mid) {\r
super(iFrame, true);\r
- init(inDataHubsIdentification);\r
+ init(inDataHubsIdentification, mid);\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
+ * Disable all components when the mode is view\r
+ * \r
+ * @param isView\r
+ * true - The view mode; false - The non-view mode\r
+ * \r
+ */\r
public void setViewMode(boolean isView) {\r
if (isView) {\r
this.jTextFieldDataHubRecord.setEnabled(!isView);\r
}\r
\r
/**\r
- This method initializes jContentPane\r
- \r
- @return javax.swing.JPanel jContentPane\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
- jArchCheckBox = new ArchCheckBox();\r
- jArchCheckBox.setBounds(new java.awt.Rectangle(160, 110, 320, 20));\r
- jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20));\r
+ jStarLabel1 = new StarLabel();\r
+ jStarLabel1.setLocation(new java.awt.Point(2, 12));\r
jLabelDataHubRecord = new JLabel();\r
- jLabelDataHubRecord.setBounds(new java.awt.Rectangle(15, 10, 140, 20));\r
+ jLabelDataHubRecord.setBounds(new java.awt.Rectangle(12, 12, 155, 20));\r
jLabelDataHubRecord.setText("Data Hub Record");\r
+ jStarLabel2 = new StarLabel();\r
+ jStarLabel2.setLocation(new java.awt.Point(2, 37));\r
jLabelUsage = new JLabel();\r
jLabelUsage.setText("Usage");\r
- jLabelUsage.setBounds(new java.awt.Rectangle(15, 35, 140, 20));\r
- jLabelArch = new JLabel();\r
- jLabelArch.setBounds(new java.awt.Rectangle(15, 110, 140, 20));\r
- jLabelArch.setText("Arch");\r
- jLabelFeatureFlag = new JLabel();\r
- jLabelFeatureFlag.setBounds(new java.awt.Rectangle(15, 85, 140, 20));\r
- jLabelFeatureFlag.setText("Feature Flag");\r
+ jLabelUsage.setBounds(new java.awt.Rectangle(12, 37, 155, 20));\r
jLabelHelpText = new JLabel();\r
- jLabelHelpText.setBounds(new java.awt.Rectangle(14, 60, 140, 20));\r
+ jLabelHelpText.setBounds(new java.awt.Rectangle(12, 62, 155, 20));\r
jLabelHelpText.setText("Help Text");\r
+ jLabelFeatureFlag = new JLabel();\r
+ jLabelFeatureFlag.setBounds(new java.awt.Rectangle(12, 132, 155, 20));\r
+ jLabelFeatureFlag.setText("Feature Flag Expression");\r
+ jLabelFeatureFlag.setEnabled(false);\r
+ jLabelArch = new JLabel();\r
+ jLabelArch.setBounds(new java.awt.Rectangle(12, 107, 155, 20));\r
+ jLabelArch.setText("Supported Architectures");\r
+ jArchCheckBox = new ArchCheckBox();\r
+ jArchCheckBox.setBounds(new java.awt.Rectangle(168, 107, 320, 20));\r
+ jArchCheckBox.setPreferredSize(new java.awt.Dimension(320, 20));\r
\r
jContentPane = new JPanel();\r
jContentPane.setLayout(null);\r
- jContentPane.setPreferredSize(new java.awt.Dimension(490, 165));\r
+ jContentPane.setPreferredSize(new java.awt.Dimension(480, 180));\r
\r
jContentPane.add(jLabelDataHubRecord, null);\r
jContentPane.add(jLabelUsage, null);\r
jContentPane.add(getJComboBoxUsage(), null);\r
jContentPane.add(getJTextFieldFeatureFlag(), null);\r
\r
- jStarLabel1 = new StarLabel();\r
- jStarLabel1.setLocation(new java.awt.Point(0, 10));\r
- jStarLabel2 = new StarLabel();\r
- jStarLabel2.setLocation(new java.awt.Point(0, 35));\r
-\r
jContentPane.add(jStarLabel1, null);\r
jContentPane.add(jStarLabel2, null);\r
\r
jContentPane.add(jLabelHelpText, null);\r
- jContentPane.add(getJTextFieldHelpText(), null);\r
+ jContentPane.add(getJScrollPaneHelpText(), null);\r
jContentPane.add(jArchCheckBox, null);\r
jContentPane.add(getJButtonOk(), null);\r
jContentPane.add(getJButtonCancel(), null);\r
}\r
\r
/**\r
- This method initializes Usage type\r
- \r
- **/\r
+ * This method initializes Usage type\r
+ * \r
+ */\r
private void initFrame() {\r
Tools.generateComboBoxByVector(jComboBoxUsage, ed.getVDataHubUsage());\r
}\r
\r
- /* (non-Javadoc)\r
+ /*\r
+ * (non-Javadoc)\r
+ * \r
* @see java.awt.event.ActionListener#actionPerformed(java.awt.event.ActionEvent)\r
- *\r
+ * \r
* Override actionPerformed to listen all actions\r
* \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
+ * 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 checkAdd() {\r
//\r
- // Check if all fields have correct data types \r
+ // Check if all fields have correct data types\r
//\r
\r
//\r
- // Check DataHubRecord \r
+ // Check DataHubRecord\r
//\r
if (isEmpty(this.jTextFieldDataHubRecord.getText())) {\r
- Log.err("Data Hub Record couldn't be empty");\r
+ Log.wrn("Update Hubs", "Data Hub Record must be entered!");\r
return false;\r
}\r
\r
if (!isEmpty(this.jTextFieldDataHubRecord.getText())) {\r
if (!DataValidation.isC_NameType(this.jTextFieldDataHubRecord.getText())) {\r
- Log.err("Incorrect data type for Data Hub Record");\r
+ Log.wrn("Update Hubs", "Incorrect data type for Data Hub Record");\r
return false;\r
}\r
}\r
//\r
if (!isEmpty(this.jTextFieldFeatureFlag.getText())) {\r
if (!DataValidation.isFeatureFlag(this.jTextFieldFeatureFlag.getText())) {\r
- Log.err("Incorrect data type for Feature Flag");\r
+ Log.wrn("Update Hubs", "Incorrect data type for Feature Flag");\r
return false;\r
}\r
}\r
\r
String arg2 = this.jTextFieldFeatureFlag.getText();\r
Vector<String> arg3 = this.jArchCheckBox.getSelectedItemsVector();\r
- String arg4 = this.jTextFieldHelpText.getText();\r
+ String arg4 = this.jTextAreaHelpText.getText();\r
\r
id = new DataHubsIdentification(arg0, arg1, arg2, arg3, arg4);\r
return id;\r