📄 staxmonitorframe.java
字号:
new JScrollPane(stafcmdTablePlugin.getComponent()); stafcmdScrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); stafcmdScrollPane.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); fActiveElementsPane.addTab(stafcmdTablePlugin.getTitle(), stafcmdScrollPane); fViewableComponents.put(stafcmdTablePlugin.getTitle(), stafcmdScrollPane); fViewablePlugins.put(fSTAFCmdMenu, stafcmdTablePlugin); int i = fActiveElementsPane.getTabCount(); fActiveElementsPane.setBackgroundAt(i - 1, Color.white); fActiveElementsPane.setForegroundAt(i - 1, Color.darkGray); } catch (STAFException ex) { System.out.println("STAFException thrown during " + "STAXMonitorSTAFCmdTablePlugin initialization. RC: " + ex.rc); } try { subjobTablePlugin = new STAXMonitorSubjobExtension(); JComponent subjobTable = subjobTablePlugin.init(this, newJob, fStaxMachine, fStaxServiceName, fJobNumber); subjobTable.setVisible(true); Vector notificationTypes = new Vector(); StringTokenizer types = new StringTokenizer(subjobTablePlugin.getNotificationEventTypes(), " "); while (types.hasMoreElements()) { String type = types.nextToken().toLowerCase(); notificationTypes.add(type); } fRegisteredPlugins.put(subjobTablePlugin, notificationTypes); fSubjobMenu = new JCheckBoxMenuItem( subjobTablePlugin.getTitle(), true); fSubjobMenu.addActionListener(this); fViewMenu.add(fSubjobMenu); JScrollPane subjobScrollPane = new JScrollPane(subjobTablePlugin.getComponent()); subjobScrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); subjobScrollPane.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); fActiveElementsPane.addTab(subjobTablePlugin.getTitle(), subjobScrollPane); fViewableComponents.put(subjobTablePlugin.getTitle(), subjobScrollPane); fViewablePlugins.put(fSubjobMenu, subjobTablePlugin); int i = fActiveElementsPane.getTabCount(); fActiveElementsPane.setBackgroundAt(i - 1, Color.white); fActiveElementsPane.setForegroundAt(i - 1, Color.darkGray); } catch (STAFException ex) { System.out.println("STAFException thrown during " + "STAXMonitorSubjobTablePlugin initialization. RC: " + ex.rc); } fViewMenu.addSeparator(); // Testcase Status try { testcaseTablePlugin = new STAXMonitorTestcaseExtension(); JComponent testcaseTable = testcaseTablePlugin.init(this, newJob, fStaxMachine, fStaxServiceName, fJobNumber); testcaseTable.setVisible(true); Vector notificationTypes = new Vector(); StringTokenizer types = new StringTokenizer(testcaseTablePlugin.getNotificationEventTypes(), " "); while (types.hasMoreElements()) { String type = types.nextToken().toLowerCase(); notificationTypes.add(type); } fRegisteredPlugins.put(testcaseTablePlugin, notificationTypes); fTestcaseStatusMenu = new JCheckBoxMenuItem( testcaseTablePlugin.getTitle(), true); fTestcaseStatusMenu.addActionListener(this); JScrollPane tcScrollPane = new JScrollPane(testcaseTablePlugin.getComponent()); tcScrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); tcScrollPane.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); fViewMenu.add(fTestcaseStatusMenu); fViewablePlugins.put(fTestcaseStatusMenu, testcaseTablePlugin); fStatusPane.addTab(testcaseTablePlugin.getTitle(), tcScrollPane); fViewableComponents.put(testcaseTablePlugin.getTitle(), tcScrollPane); int i = fStatusPane.getTabCount(); fStatusPane.setBackgroundAt(i - 1, Color.white); fInfoPane.setForegroundAt(i - 1, Color.darkGray); } catch (STAFException ex) { System.out.println("STAFException thrown during " + "STAXMonitorSTAFCmdTablePlugin initialization. RC: " + ex.rc); } // Testcase Info try { testcaseInfoTablePlugin = new STAXMonitorTestcaseExtension(); JComponent testcaseTable = testcaseInfoTablePlugin.init(this, newJob, fStaxMachine, fStaxServiceName, fJobNumber); testcaseTable.setVisible(true); Vector notificationTypes = new Vector(); StringTokenizer types = new StringTokenizer(testcaseInfoTablePlugin. getNotificationEventTypes(), " "); while (types.hasMoreElements()) { String type = types.nextToken().toLowerCase(); notificationTypes.add(type); } fRegisteredPlugins.put(testcaseInfoTablePlugin, notificationTypes); fTestcaseInfoMenu = new JCheckBoxMenuItem( testcaseInfoTablePlugin.getTitle() + " ", false); fTestcaseInfoMenu.addActionListener(this); JScrollPane tcScrollPane = new JScrollPane(testcaseInfoTablePlugin.getComponent()); tcScrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED); tcScrollPane.setHorizontalScrollBarPolicy( JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED); fViewablePlugins.put(fTestcaseInfoMenu, testcaseInfoTablePlugin); } catch (STAFException ex) { System.out.println("STAFException thrown during " + "STAXMonitorSTAFCmdTablePlugin initialization. RC: " + ex.rc); } fViewMenu.addSeparator(); fMessagesMenu = new JCheckBoxMenuItem("Messages", true); fMessagesMenu.addActionListener(this); fViewMenu.add(fMessagesMenu); fCurrentSelectionMenu = new JCheckBoxMenuItem("Current Selection", true); fCurrentSelectionMenu.addActionListener(this); fViewMenu.add(fCurrentSelectionMenu); // XXX fix this later....need to use the type to determine where // the plugin should be placed in the menu fViewMenu.add(fTestcaseInfoMenu); fBlockPopupMenu.add(fBlockHoldMenuItem); fBlockHoldMenuItem.addActionListener(this); fBlockPopupMenu.add(fBlockReleaseMenuItem); fBlockReleaseMenuItem.addActionListener(this); fBlockPopupMenu.add(fBlockTerminateMenuItem); fBlockTerminateMenuItem.addActionListener(this); fSubjobPopupMenu.add(fSubjobStartMonitoringMenuItem); fSubjobStartMonitoringMenuItem.addActionListener(this); fSubjobPopupMenu.addSeparator(); fSubjobPopupMenu.add(fSubjobDisplayJobLogMenuItem); fSubjobDisplayJobLogMenuItem.addActionListener(this); fSubjobPopupMenu.add(fSubjobDisplayJobUserLogMenuItem); fSubjobDisplayJobUserLogMenuItem.addActionListener(this); fSubjobPopupMenu.addSeparator(); fSubjobPopupMenu.add(fSubjobTerminateMenuItem); fSubjobTerminateMenuItem.addActionListener(this); fProcessMonitor = new STAFProcessMonitor(); fProcessMonitor.start(); fElapsedTime = new MonitorElapsedTime(); fElapsedTime.start(); if (!newJob) { // Determine which blocks in the job are currently held String request = "LIST JOB " + fJobNumber + " BLOCKS"; STAFResult listResult = fHandle.submit2( fStaxMachine, fStaxServiceName, request); if (listResult.rc != 0) { throw new STAFException( listResult.rc, "Error listing Job Blocks\n"+ listResult.result); } STAFMarshallingContext mc = STAFMarshallingContext.unmarshall(listResult.result); java.util.List blockList = (java.util.List)mc.getRootObject(); Iterator iter = blockList.iterator(); Vector heldBlocks = new Vector(); while (iter.hasNext()) { Map blockInfoMap = (Map)iter.next(); String block = (String)blockInfoMap.get("blockName"); String status = (String)blockInfoMap.get("state"); heldBlocks.addAll(handleBlock(block, status)); } for (int i = 0; i < heldBlocks.size(); i++) { ((STAXMonitorTreeNode)heldBlocks.elementAt(i)). setBlockStatus(STAXMonitorTreeNode.blockHeld); } // Determine the processes that are currently running in the job request = "LIST JOB " + fJobNumber + " PROCESSES"; listResult = fHandle.submit2( fStaxMachine, fStaxServiceName, request); if (listResult.rc != 0) { throw new STAFException( listResult.rc, "Error listing Job PROCESSES\n" + listResult.result); } mc = STAFMarshallingContext.unmarshall(listResult.result); java.util.List processList = (java.util.List)mc.getRootObject(); iter = processList.iterator(); while (iter.hasNext()) { Map processMap = (Map)iter.next(); String location = (String)processMap.get("location"); String handleNumber = (String)processMap.get("handle"); request = "QUERY JOB " + fJobNumber + " PROCESS " + location + ":" + handleNumber; STAFResult queryResult = fHandle.submit2( fStaxMachine, fStaxServiceName, request); if (queryResult.rc != 0) { // Ignore since the process may have already completed continue; } mc = STAFMarshallingContext.unmarshall(queryResult.result); processMap = (HashMap)mc.getRootObject(); String block = (String)processMap.get("blockName"); String processName = (String)processMap.get("processName"); handleProcess(processMap, block, processName, location, handleNumber, false); } // Determine the stafcmds that are currently running in the job request = "LIST JOB " + fJobNumber + " STAFCMDS"; listResult = fHandle.submit2( fStaxMachine, fStaxServiceName, request); if (listResult.rc != 0) { throw new STAFException(listResult.rc, "Error listing Job STAFCMDS\n" + listResult.result); } if (listResult.rc != 0) { throw new STAFException( listResult.rc, "Error listing Job STAFCMDS\n" + listResult.result); } mc = STAFMarshallingContext.unmarshall(listResult.result); java.util.List stafcmdList = (java.util.List)mc.getRootObject(); 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 cmdRequest = (String)stafcmdMap.get("request"); request = "QUERY JOB " + fJobNumber + " STAFCMD " + requestNumber; STAFResult queryResult = fHandle.submit2( fStaxMachine, fStaxServiceName, request);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -