⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 staxmonitorstafcmdextension.java

📁 Software Testing Automation Framework (STAF)的开发代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*****************************************************************************//* Software Testing Automation Framework (STAF)                              *//* (C) Copyright IBM Corp. 2002, 2004                                        *//*                                                                           *//* This software is licensed under the Common Public License (CPL) V1.0.     *//*****************************************************************************/package com.ibm.staf.service.stax;import javax.swing.*;import javax.swing.event.*;import com.ibm.staf.*;import java.util.*;import java.awt.*;import java.awt.event.*;import java.lang.reflect.*;import java.io.*;public class STAXMonitorSTAFCmdExtension implements STAXMonitorExtension,                                                      MouseListener{    JPanel fPanel;    STAFHandle fHandle;    JTable fSTAFCmdTable;    STAXMonitorTableModel fSTAFCmdTableModel;    STAXMonitorTableSorter fSTAFCmdModelSorter;    Vector fSTAFCmdColumns;    Vector fSTAFCmdVector = new Vector();    Hashtable fSTAFCmdIDs = new Hashtable();    Hashtable fSTAFCmdStartTimes = new Hashtable();    String fStaxMachine;    String fStaxServiceName;    String fJobNumber;    MonitorElapsedTime fElapsedTime;    boolean fContinueElapsedTime = true;    STAXMonitorFrame fMonitorFrame;    String fTitle;    Hashtable fCmdHashtable = new Hashtable();    public JComponent init(STAXMonitorFrame monitorFrame, boolean newJob,                           String staxMachineName,                           String staxServiceName, String jobNumber)                           throws STAFException    {        fMonitorFrame = monitorFrame;        fStaxMachine = staxMachineName;        fStaxServiceName = staxServiceName;        fJobNumber = jobNumber;        fTitle = "Active STAFCmds";        fPanel = new JPanel();        fPanel.setLayout(new BorderLayout());        try        {            fHandle = STAXMonitorUtil.getNewSTAFHandle(                "STAX/JobMonitor/Extension/STAFCmdTable");        }        catch (STAFException ex)        {        }        fSTAFCmdColumns = new Vector();        fSTAFCmdColumns.addElement("Command Name");        fSTAFCmdColumns.addElement("Elapsed Time");        fSTAFCmdColumns.addElement("Block");        fSTAFCmdColumns.addElement("Machine:Request#");        fSTAFCmdColumns.addElement("Service");        fSTAFCmdColumns.addElement("Request");        fSTAFCmdTableModel = new STAXMonitorTableModel(fSTAFCmdColumns, 0);        fSTAFCmdModelSorter =            new STAXMonitorTableSorter(fSTAFCmdTableModel, 0);        fSTAFCmdTable = new JTable(fSTAFCmdModelSorter);        fSTAFCmdModelSorter.addMouseListenerToHeaderInTable(            fSTAFCmdTable, 3);        fSTAFCmdTable.setRowSelectionAllowed(true);        fSTAFCmdTable.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);        fSTAFCmdTable.addMouseListener(this);        fSTAFCmdTable.getColumnModel().getColumn(0).setCellRenderer(            new STAXMonitorTableCellRenderer(new Color(0, 130, 0)));        fSTAFCmdTable.getColumnModel().getColumn(0).            setHeaderRenderer(new STAXMonitorTableCellRenderer(Color.black,                true, new Font("Dialog", Font.BOLD, 12)));        fSTAFCmdTable.getColumnModel().getColumn(1).setCellRenderer(            new STAXMonitorTableCellRenderer(Color.blue));        fSTAFCmdTable.getColumnModel().getColumn(1).            setHeaderRenderer(new STAXMonitorTableCellRenderer(Color.black,                true, new Font("Dialog", Font.BOLD, 12)));        fSTAFCmdTable.getColumnModel().getColumn(2).setCellRenderer(            new STAXMonitorTableCellRenderer(new Color(0, 130, 0)));        fSTAFCmdTable.getColumnModel().getColumn(2).            setHeaderRenderer(new STAXMonitorTableCellRenderer(Color.black,                true, new Font("Dialog", Font.BOLD, 12)));        fSTAFCmdTable.getColumnModel().getColumn(3).setCellRenderer(            new STAXMonitorTableCellRenderer(new Color(0, 130, 0)));        fSTAFCmdTable.getColumnModel().getColumn(3).            setHeaderRenderer(new STAXMonitorTableCellRenderer(Color.black,                true, new Font("Dialog", Font.BOLD, 12)));        fSTAFCmdTable.getColumnModel().getColumn(4).setCellRenderer(            new STAXMonitorTableCellRenderer(new Color(0, 130, 0)));        fSTAFCmdTable.getColumnModel().getColumn(4).            setHeaderRenderer(new STAXMonitorTableCellRenderer(Color.black,                true, new Font("Dialog", Font.BOLD, 12)));        fSTAFCmdTable.getColumnModel().getColumn(5).setCellRenderer(            new STAXMonitorTableCellRenderer(new Color(0, 130, 0)));        fSTAFCmdTable.getColumnModel().getColumn(5).            setHeaderRenderer(new STAXMonitorTableCellRenderer(Color.black,                true, new Font("Dialog", Font.BOLD, 12)));        fSTAFCmdTable.setAutoResizeMode(JTable.AUTO_RESIZE_OFF);        STAXMonitorUtil.sizeColumnsToFitText(fSTAFCmdTable);        if (!newJob)        {            String listRequest = "LIST JOB " + fJobNumber + " STAFCMDS";            STAFResult listResult = fHandle.submit2(                fStaxMachine, fStaxServiceName, listRequest);            if (listResult.rc != 0)            {                throw new STAFException(                    listResult.rc,                    "Error listing Job STAFCMDS\n" + listResult.result);            }            STAFMarshallingContext mc =                STAFMarshallingContext.unmarshall(listResult.result);            java.util.List stafcmdList = (java.util.List)mc.getRootObject();            Iterator iter = stafcmdList.iterator();                        while (iter.hasNext())            {                Map stafcmdMap = (Map)iter.next();                String commandName   = (String)stafcmdMap.get("stafcmdName");                String location      = (String)stafcmdMap.get("location");                String requestNumber = (String)stafcmdMap.get("requestNum");                String service       = (String)stafcmdMap.get("service");                String request       = (String)stafcmdMap.get("request");                STAFResult queryResult = fHandle.submit2(                    fStaxMachine, fStaxServiceName,                    "QUERY JOB " + fJobNumber + " STAFCMD " + requestNumber);                if (queryResult.rc != 0)                {                    // Ignore as Stafcmd could have already completed                    continue;                }                mc = STAFMarshallingContext.unmarshall(queryResult.result);                stafcmdMap = (HashMap)mc.getRootObject();                String block = (String)stafcmdMap.get("blockName");                String stafcmdName = (String)stafcmdMap.get("stafcmdName");                String startTimestamp =                     (String)stafcmdMap.get("startTimestamp");                String startDate = startTimestamp.substring(0, 8);                String startTime = startTimestamp.substring(9);                String STAFCmdID = location + ":" + requestNumber;                synchronized(fSTAFCmdStartTimes)                {                    fSTAFCmdStartTimes.put(                        STAFCmdID,                        STAXMonitorUtil.getCalendar2(startDate, startTime));                }                Object rowData[] = new Object[6];                rowData[0] = commandName;                rowData[1] = "";                rowData[2] = block;                rowData[3] = STAFCmdID;                rowData[4] = service;                rowData[5] = request;                fSTAFCmdTableModel.addRow(rowData);                STAXMonitorUtil.updateRowHeights(fSTAFCmdTable, 1);                STAXMonitorUtil.sizeColumnsToFitText(fSTAFCmdTable);                Vector cmdDataVector = new Vector();                addRow(cmdDataVector, "Location", location);                addRow(cmdDataVector, "Request Number", requestNumber);                addRow(cmdDataVector, "Service", service);                addRow(cmdDataVector, "Request", request);                addRow(cmdDataVector, "Started", startDate + "-" + startTime);                synchronized(fCmdHashtable)                {                    fCmdHashtable.put(STAFCmdID, cmdDataVector);                }            }        }        fElapsedTime = new MonitorElapsedTime();        fElapsedTime.start();        //return fPanel;        return fSTAFCmdTable;    }    public String getNotificationEventTypes()    {        return "stafcommand";    }    public String getTitle()    {        return fTitle;    }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -