📄 staxmonitor.java
字号:
/*****************************************************************************//* Software Testing Automation Framework (STAF) *//* (C) Copyright IBM Corp. 2002, 2004, 2005 *//* *//* This software is licensed under the Common Public License (CPL) V1.0. *//*****************************************************************************/package com.ibm.staf.service.stax;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;import javax.swing.border.*;import javax.swing.event.*;import javax.swing.table.*;import com.ibm.staf.*;import com.ibm.staf.service.*;import java.text.SimpleDateFormat;import java.lang.reflect.*;import java.util.jar.*;public class STAXMonitor extends JFrame implements ActionListener, ItemListener, KeyListener, MouseListener, ListSelectionListener, ChangeListener, Runnable{ // Set to the version of the STAX Monitor static final String fVersion = "3.2.0 Beta 1"; // Set to the version of STAF required by the STAX Monitor static final String fSTAFRequiredVersion = "3.1.5"; // Set to the version of the STAX service required by the STAX Monitor static final String fServiceRequiredVersion = "3.0.0"; // Set to the version of the Event service required by the STAX Monitor static final String fEventRequiredVersion = "3.1.0"; static final String sInterfaceSeparator = "://"; static final String sPortSeparator = "@"; STAFHandle fHandle; String fFileSep; String fLocalMachineName; String fSTAXMonitorEndpoint; String fStaxMachineInterface = null; String fStaxMachineIdentifier = null; String fStaxMachinePort = null; String fStaxConfigMachine = ""; String fStaxInstanceUUID = "STAXInstanceUUID"; String fLocalInstanceUUID = "LocalInstanceUUID"; boolean fIsSTAXServiceLocal = false; String fMonitorFileDirectory; String fExtensionsDirectory = null; JDialog fPropertiesDialog; boolean fPropertiesAtStartup = true; String kMonitorPropertiesFileName = "monprp.ser"; String kMonitorLastJobDataFileName = "monljp.ser"; STAFCommandParser fArgsParser = new STAFCommandParser(0, false); String fPropertiesFileName; String fLastJobParmsFileName; String fStaxMachineName = ""; String fStaxMachineNickname; JTextField fStaxMachineNameField; String fStaxServiceName = ""; JTextField fStaxServiceNameField; String fEventMachineName = ""; JTextField fEventMachineNameField; String fEventServiceName = ""; JTextField fEventServiceNameField; JCheckBox fShowNoSTAXMonitorInformation = new JCheckBox("Show Process <No STAX Monitor Information> message", false); JCheckBox fLimitMessages = new JCheckBox("Limit number of Messages displayed to: ", true); JTextField fLimitMessagesField; static Boolean fDefaultShowNoSTAXMonitorInformation = new Boolean(false); static Integer fDefaultAutoMonitorSubjobs = new Integer( STAXMonitorFrame.AUTOMONITOR_RECOMMENDED); static Boolean fDefaultLimitMessages = new Boolean(true); static String fDefaultLimitMessagesText = "200"; static String fDefaultProcessMonitorSeconds = "60"; static String fDefaultElapsedTimeSeconds = "1"; String fLimitMessagesFieldText = fDefaultLimitMessagesText; JTextField fProcessMonitorSecondsField; String fProcessMonitorSecondsFieldText = fDefaultProcessMonitorSeconds; JTextField fElapsedTimeSecondsField; String fElapsedTimeSecondsFieldText = fDefaultElapsedTimeSeconds; static String fDefaultMessageFontName = "Dialog"; static String fDefaultLogViewerFontName = "Dialog"; String fMessageFontName = fDefaultMessageFontName; String fLogViewerFontName = fDefaultLogViewerFontName; JComboBox fMessageFontNameCB = new JComboBox(); JComboBox fLogViewerFontNameCB = new JComboBox(); JButton fPropertiesOKButton = new JButton("Save"); JButton fPropertiesCancelButton = new JButton("Cancel"); JButton fStartNewJobButton = new JButton("Submit New Job..."); JButton fSubmitLastJobButton = new JButton("Resubmit Previous Job"); JTable fActiveJobsTable; STAXMonitorTableModel fActiveJobsTableModel; STAXMonitorTableSorter fActiveJobsModelSorter; Vector fActiveJobColumns; JMenu fFileMenu; JMenu fDisplayMenu; JMenu fHelpMenu; JMenuItem fHelpAbout; JMenuItem fJobParametersMenuItem; JMenuItem fStartNewJobMenuItem; JMenuItem fFileProperties; JMenuItem fFileExit; JMenuItem fDisplayServiceLog; JMenuItem fDisplaySTAXJVMLog; JMenuItem fDisplayOtherJVMLog; JMenuItem fDisplaySelectedJobLog; JMenuItem fDisplaySelectedJobUserLog; JMenuItem fDisplayJobLog; JMenuItem fDisplayJobUserLog; JMenu fStartNewJobFileMenu; JMenuItem fStartNewJobFileExit; JMenuItem fStartNewJobFileOpen; JMenuItem fStartNewJobFileSave; JMenuItem fStartNewJobFileSaveAs; Hashtable fPropertiesData; JDialog fStartNewJobDialog; String fLocalXmlFileName = ""; JTextField fLocalXmlFileNameField; String fOtherXmlFileName = ""; JTextField fOtherXmlFileNameField; String fOtherXmlFileMachineName = ""; JTextField fOtherXmlFileMachineField; String fFunction = ""; JTextField fFunctionField; JRadioButton fDefaultFunctionRB; JRadioButton fOtherFunctionRB; JRadioButton fMachineLocalRB; JRadioButton fMachineOtherRB; JRadioButton fMonitorYesRB; JRadioButton fMonitorNoRB; JRadioButton fClearLogsYesRB; JRadioButton fClearLogsNoRB; JRadioButton fClearLogsDefaultRB; JTextArea fArguments; JButton fClearArguments = new JButton("Clear"); boolean fArgumentsEnabled; String fArgs = ""; String fJobName = ""; JTextField fJobNameField; JButton fStartNewJobSubmitButton; JButton fStartNewJobTestButton; JButton fStartNewJobCancelButton; JButton fStartNewJobClearButton; JButton fBrowseButton; JList fScriptList; JButton fScriptAddButton; JButton fScriptDeleteButton; JButton fScriptDeleteAllButton; JDialog fAddScriptDialog; JTextArea fAddScriptTextArea; JButton fAddScriptAddButton; JButton fAddScriptCancelButton; JDialog fEditScriptDialog; JTextArea fEditScriptTextArea; JButton fEditScriptSaveButton; JButton fEditScriptCancelButton; File fLastFileDirectory; File fLastJobParmsFileDirectory; Vector fScriptVector = new Vector(); Hashtable fMonitorTable = new Hashtable(); JPopupMenu fJobPopupMenu = new JPopupMenu(); JMenuItem fJobShowMonitorMenuItem = new JMenuItem("Show Monitor window"); JMenuItem fJobStartMonitorMenuItem = new JMenuItem("Start Monitoring"); JMenuItem fJobShowJobLogMenuItem = new JMenuItem("Display Job Log"); JMenuItem fJobShowJobUserLogMenuItem = new JMenuItem("Display Job User Log"); JMenuItem fJobShowSTAXServiceLogMenuItem = new JMenuItem("Display STAX Service Log"); JMenuItem fJobShowSTAXJVMLogMenuItem = new JMenuItem("Display STAX JVM Log"); JMenuItem fJobShowOtherJVMLogMenuItem = new JMenuItem("Display Other JVM Log"); JMenuItem fJobTerminateJobMenuItem = new JMenuItem("Terminate Job"); String fJobParmsID = "STAX/Job/Monitor/Parameters"; String fStartNewJobTitle = "STAX Job Parameters "; String fCurrentJobParmsFile = ""; boolean fCurrentJobParmsNotSaved = false; boolean fContinueElapsedTime = true; MonitorElapsedTime fElapsedTime; Hashtable fJobStartTimes = new Hashtable(); Hashtable fJobStartDateTimes = new Hashtable(); Vector fRecentFiles = new Vector(); String fRecentFilesName; String kRecentFilesFileName = "monrcfl.ser"; JMenuItem fRecentFileMenuItems[] = new JMenuItem[10]; String fCloseOnEndJobID = ""; String fStartNewJobParmFileName = ""; boolean fStartNewJobCloseOnEnd = false; Vector fLocalExtJarFiles; Vector fOldLocalExtJarFiles; Map fMonitorExtensionMap = new TreeMap(); // List of temporary extension jar files Vector fTempLocalExtFiles = new Vector(); JList fPluginJarsList; // List of monitor extension plugin classes to be loaded by each job Vector fPluginClasses = new Vector(); JButton fPluginJarsAddButton; JButton fPluginJarsDeleteButton; JButton fPluginJarsDeleteAllButton; JDialog fAddPluginJarsDialog; JTextField fAddPluginJarsTextField; JButton fAddPluginJarsBrowseButton; JButton fAddPluginJarsAddButton; JButton fAddPluginJarsCancelButton; JDialog fEditPluginJarsDialog; JTextField fEditPluginJarsTextField; JButton fEditPluginJarsSaveButton; JButton fEditPluginJarsCancelButton; JTable fExtensionsTable; Vector fExtensionsColumns; STAXMonitorTableModel fExtensionsTableModel; STAXMonitorTableSorter fExtensionsModelSorter; static String EXT_COLUMN_NAME = "Name"; static String EXT_COLUMN_SOURCE = "Source"; static String EXT_COLUMN_VERSION = "Version"; static String EXT_COLUMN_JARFILE = "Jar File Name"; static String EXT_COLUMN_OVERRIDES = "Overrides"; static String EXT_COLUMN_PREREQ = "Prereq"; static String EXT_COLUMN_DESCRIPTION = "Description"; String fOldStaxMachineName; String fOldStaxServiceName; String fOldEventMachineName; String fOldEventServiceName; Vector fScriptFilesVector; JList fScriptFilesList; JButton fScriptFilesAddButton; JButton fScriptFilesDeleteButton; JButton fScriptFilesDeleteAllButton; JDialog fAddScriptFilesDialog; JTextField fAddScriptFilesTextField; JButton fAddScriptFilesBrowseButton; JButton fAddScriptFilesAddButton; JButton fAddScriptFilesCancelButton; JDialog fEditScriptFilesDialog; JTextField fEditScriptFilesTextField; JButton fEditScriptFilesSaveButton; JButton fEditScriptFilesCancelButton; JTextField fScriptFilesMachineTextField; String fScriptFilesMachineName; JRadioButton fLocalScriptMachineRB; JRadioButton fXMLJobFileScriptMachineRB; JRadioButton fOtherScriptMachineRB; JRadioButton fAutoMonitorSubjobsRB; JRadioButton fAutoMonitorRecommendedSubjobsRB; JRadioButton fNeverAutoMonitorSubjobsRB; JButton fStartNewJobWizardButton; JDialog fWizardDialog; JButton fWizardSaveButton = new JButton("Save"); JButton fWizardPreviewXMLButton = new JButton("Preview XML..."); JButton fWizardCancelButton = new JButton("Cancel"); JPanel prologPanel; JPanel fWizardFunctionArgsPanel; HashMap fWizardFunctionMap; HashMap fWizardFunctionTypeMap; HashMap fWizardFunctionPrologMap; HashMap fWizardFunctionEpilogMap; HashMap fWizardFunctionArgTableMap; HashMap fWizardFunctionArgDefaultsMap; JList fWizardFunctionsList; TitledBorder functionDescriptionBorder = new TitledBorder(""); TitledBorder functionArgumentBorder = new TitledBorder(""); JLabel fWizardNoArgsAllowedLabel; JLabel fWizardNoArgsDefinedLabel; JLabel fWizardSingleArgLabel; JLabel fWizardListArgsLabel; JLabel fWizardMapArgsLabel; Object[] fWizardFunctionTableColumnNames = { "Name", "Description", "Required", "Value" }; JRadioButton fLogTCElapsedTimeYesRB; JRadioButton fLogTCElapsedTimeNoRB; JRadioButton fLogTCElapsedTimeDefaultRB; JRadioButton fLogTCNumStartsYesRB; JRadioButton fLogTCNumStartsNoRB; JRadioButton fLogTCNumStartsDefaultRB; JRadioButton fLogTCStartStopYesRB; JRadioButton fLogTCStartStopNoRB; JRadioButton fLogTCStartStopDefaultRB; JTable fLogOptionsTable; JEditorPane fWizardFunctionProlog; JButton fWizardDetailsButton; // Used to compare if should assign saved function arg list for a function // when using the Job Wizard String fWizardSavedFunctionName = ""; String fWizardSavedFileName = ""; String fWizardSavedFileMachineName = ""; Vector fWizardSavedFunctionArgList = new Vector(); String fWizardFileName = ""; String fWizardFileMachineName = ""; Color lightRed = new Color(255, 204, 204); Color lightGreen = new Color(204, 255, 204); Color lightYellow = new Color(255, 255, 153); String helpText = "\nSTAXMonitor Help\n\n" + "-job <jobNumber> [-closeonend]\n" + "-jobparms <jobParmsFile> [-closeonend]\n" + "-extensions\n" + "-properties [-staxMachine <machineName>] " + "[-staxServiceName <serviceName>]\n" + //" [-jobParmsDirectory <directoryName>]\n" + " [-noStart]\n" + "-help\n" + "-version\n"; private static java.net.URL splashURL = ClassLoader.getSystemClassLoader(). getSystemResource("images/splash.gif"); final String kSplashText = "Version " + fVersion + ", Copyright IBM Corp. 2003-2005"; static final String STAX_MONITOR_EXTENSION =
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -