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

📄 staxmonitorstafcmdextension.java

📁 Software Testing Automation Framework (STAF)的开发代码
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
    public int getExtensionType()    {        return STAXMonitorFrame.EXTENSION_ACTIVE;    }    public JComponent getComponent()    {        return fSTAFCmdTable;    }        public void mouseClicked(MouseEvent e)    {        int selectedRow = fSTAFCmdTable.getSelectedRow();        if (selectedRow == -1)            return;        String cmdID = (String)            fSTAFCmdTable.getValueAt(selectedRow, 3);        synchronized(fCmdHashtable)        {            fMonitorFrame.updateCurrentSelection((String)fSTAFCmdTable.                getValueAt(selectedRow, 0),                (Vector)fCmdHashtable.get(cmdID));        }    }    public void mousePressed(MouseEvent e) {}    public void mouseReleased(MouseEvent e) {}    public void mouseEntered(MouseEvent e) {}    public void mouseExited(MouseEvent e) {}    public void handleEvent(Map map)    {        String block = (String)map.get("block");        String commandName = (String)map.get("name");        String location = (String)map.get("location");        String requestNumber = (String)map.get("requestNumber");        String STAFCmdID = location + ":" + requestNumber;        String service = (String)map.get("service");        String request = (String)map.get("request");        String status = (String)map.get("status");        if (status == null)        {            return;  // Ignore event        }        if (status.equals("start"))        {            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);            STAFResult queryResult = fHandle.submit2(                fStaxMachine, fStaxServiceName,                "QUERY JOB " + fJobNumber + " STAFCMD " + requestNumber);            if (queryResult.rc != 0)            {                // Ignore since stafcmd may have already completed                return;            }                        STAFMarshallingContext mc =                STAFMarshallingContext.unmarshall(queryResult.result);            Map processMap = (HashMap)mc.getRootObject();            // startTimestamp format is YYYYMMDD-HH:MM:SS            String startTimestamp = (String)processMap.get("startTimestamp");            String startDate = startTimestamp.substring(0, 8);            String startTime = startTimestamp.substring(9);            synchronized(fSTAFCmdStartTimes)            {                fSTAFCmdStartTimes.put(                    STAFCmdID,                    STAXMonitorUtil.getCalendar2(startDate, startTime));            }            addRow(cmdDataVector, "Started", startDate + "-" + startTime);            synchronized(fCmdHashtable)            {                fCmdHashtable.put(STAFCmdID, cmdDataVector);            }        }        else if (status.equals("stop"))        {            Vector dataVector = fSTAFCmdTableModel.getDataVector();            for (int i = 0; i < dataVector.size(); i++)            {                Vector currentRow = (Vector)(dataVector.elementAt(i));                synchronized(fCmdHashtable)                {                    fCmdHashtable.remove(STAFCmdID);                }                synchronized(fSTAFCmdStartTimes)                {                    fSTAFCmdStartTimes.remove(STAFCmdID);                }                if (((String)currentRow.elementAt(3)).                    equalsIgnoreCase(STAFCmdID))                {                    fSTAFCmdTableModel.removeRow(i);                    STAXMonitorUtil.updateRowHeights(fSTAFCmdTable, 1);                    STAXMonitorUtil.sizeColumnsToFitText(fSTAFCmdTable);                    break;                }            }        }    }    public void addRow(Vector vector, String name, String value)    {        Vector newRow = new Vector(2);        newRow.add(name);        newRow.add(value);        vector.add(newRow);    }    public void term()    {        boolean fContinueSTAFCmdMonitor = false;        STAXMonitorUtil.freeHandle(fHandle.getHandle());    }    class MonitorElapsedTime extends Thread    {        public void run()        {            final int waitTime = fMonitorFrame.getElapsedTimeInterval();            if (waitTime == 0)                return;            while (fContinueElapsedTime)            {                synchronized(fSTAFCmdTableModel)                {                    Runnable STAFCmdRunnable = new Runnable()                    {                        public void run()                        {                            Vector dataVector =                                fSTAFCmdTableModel.getDataVector();                            for (int i = 0; i < dataVector.size(); i++)                            {                                Vector currentRow =                                    (Vector)(dataVector.elementAt(i));                                String locationAndHandle =                                    (String)currentRow.elementAt(3);                                final int row = i;                                synchronized(fSTAFCmdStartTimes)                                {                                    Calendar STAFCmdStarted = (Calendar)                                        fSTAFCmdStartTimes.get(                                        locationAndHandle);                                    if (STAFCmdStarted != null)                                    {                                        fSTAFCmdTableModel.setValueAt(                                            STAXMonitorUtil.getElapsedTime(                                            STAFCmdStarted), row, 1);                                    }                                }                            }                            fSTAFCmdTable.repaint();                        }                    };                    try                    {                        SwingUtilities.invokeAndWait(STAFCmdRunnable);                    }                    catch (InterruptedException ex)                    {                         ex.printStackTrace();                    }                    catch (InvocationTargetException ex)                    {                         ex.printStackTrace();                    }                }                try                {                    Thread.sleep(waitTime);                }                catch (InterruptedException ex)                {                }            }        }    }}

⌨️ 快捷键说明

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