mnqmainframe.java

来自「UCS (Ultra Corba Simulator) is one more 」· Java 代码 · 共 1,521 行 · 第 1/5 页

JAVA
1,521
字号
            menuBar.getMenu(1).getMenuComponent(5).setEnabled(false);
            // enable "Leave sleep mode"
            menuBar.getMenu(1).getMenuComponent(6).setEnabled(true);
        } else if (action.equals("Leave sleep mode")) {
            SequencePushConsumerImpl.setSleep(false);
            commonPane.appendln("SequencePushConsumer leaves from <SleepMode>.");
            // enable "Start sleep mode"
            menuBar.getMenu(1).getMenuComponent(5).setEnabled(true);
            // disable "Leave sleep mode"
            menuBar.getMenu(1).getMenuComponent(6).setEnabled(false);
        } else if (action.equals("SetIorDirectly")) {
            String ior = JOptionPane.showInputDialog(this, "Enter IOR String:");
            if (ior == null)
                return;
            org.omg.CORBA.Object obj;
            obj = TypeBase.orb.string_to_object(ior);
            if (obj == null) {
                JOptionPane.showMessageDialog(this,
                        "The ior string is not valid, pls. set it again.", "operation tip", 2);
            } else {
                inSelected.setior(ior);
            }
        } else if (action.equals("CreateServant")) {
            //
            try {
                String tag = inSelected.createTag();// new
                // Date().toString().replaceAll("\\s+",
                // "_");
                Servant servant = new DsiImpl(TypeBase.orb, inSelected);
                CorbaMNQ.poa.activate_object_with_id(tag.getBytes(), servant);
                org.omg.CORBA.Object o = CorbaMNQ.poa.servant_to_reference(servant);
                String ior = TypeBase.orb.object_to_string(o);

                inSelected.servants.put(tag, ior);
                commonPane.appendln("The following is the ior string output:");
                commonPane.appendln(ior);
            } catch (Exception ex) {
                LoggerTool.logStackTrace(ex, LOG);
            }
        } else if (action.equals("RemoveAllServants")) {
            try {
                Collection entrys = inSelected.servants.values();
                for (Iterator i = entrys.iterator(); i.hasNext();) {
                    Object o = i.next();
                    String ior = (String) o;
                    org.omg.CORBA.Object servant = TypeBase.orb.string_to_object(ior);
                    CorbaMNQ.poa.deactivate_object(CorbaMNQ.poa.reference_to_id(servant));
                    servant._release();
                }
                inSelected.servants.clear();
            } catch (Exception ex) {
                LoggerTool.logStackTrace(ex, LOG);
            }
        } else if (action.equals("RemoveOneServant")) {
            try {

                String tag = JOptionPane.showInputDialog(this, "Enter Servant Tag:");
                Object obj = inSelected.servants.get(tag);
                if (obj == null) {
                    JOptionPane.showMessageDialog(this,
                            "The servant tag is not valid, pls. set it again.", "operation tip", 2);
                    return;
                }
                String ior = (String) obj;
                org.omg.CORBA.Object servant = TypeBase.orb.string_to_object(ior);
                CorbaMNQ.poa.deactivate_object(CorbaMNQ.poa.reference_to_id(servant));
                servant._release();
                inSelected.servants.remove(tag);
            } catch (Exception ex) {
                LoggerTool.logStackTrace(ex, LOG);
            }
        } else if (action.equals("Invoke")) {
            sendRequest();
        } else if (action.equals("Add One Element")) {
            if (stSelectedPar != null) {
                TypeBase n_sib = stSelectedPar.t_in.cloneType();
                MNQMutableTreeNode dMTN_sib = new MNQMutableTreeNode(n_sib);
                stSelectedPar.dmtn.add(dMTN_sib);
                n_sib.dmtn = dMTN_sib;
                ArgsCellEditor.createTreeCellEditorComponent(dMTN_sib, paraTree);
                buildParaSibling(dMTN_sib, n_sib, paraTree);
                // update tree view
                ((DefaultTreeModel) paraTree.getModel()).reload(stSelectedPar.dmtn);
                // expand the tree
                // for (int i = 0; i < paraTree.getRowCount(); i++) {
                // paraTree.expandRow(i);
                // }
                expandNode(dMTN_sib, paraTree);
            }
        } else if (action.equals("Remove All Elements")) {
            if (stSelectedPar != null) {
                stSelectedPar.dmtn.removeAllChildren(true);
                ((DefaultTreeModel) paraTree.getModel()).reload(stSelectedPar.dmtn);
            } else {
                // stSelectedRes.dmtn.removeAllChildren(true);
                // ((DefaultTreeModel)
                // resultTree.getModel()).reload(stSelectedRes.dmtn);
            }
        } else if (action.equals("Remove First Element")) {
            try {
                if (stSelectedPar != null) {
                    stSelectedPar.dmtn.remove(stSelectedPar.dmtn.getIndex(stSelectedPar.dmtn
                            .getFirstChild()));
                    ((DefaultTreeModel) paraTree.getModel()).reload(stSelectedPar.dmtn);
                } else {
                    // stSelectedRes.dmtn.remove(stSelectedRes.dmtn.getIndex(stSelectedRes.dmtn
                    // .getFirstChild()));
                    // ((DefaultTreeModel)
                    // resultTree.getModel()).reload(stSelectedRes.dmtn);
                }
            } catch (NoSuchElementException ex) {
                // nothing to do
            }
        } else if (action.equals("Remove Last Element")) {
            try {
                if (stSelectedPar != null) {
                    stSelectedPar.dmtn.remove(stSelectedPar.dmtn.getIndex(stSelectedPar.dmtn
                            .getLastChild()));
                    ((DefaultTreeModel) paraTree.getModel()).reload(stSelectedPar.dmtn);
                } else {
                    // stSelectedRes.dmtn.remove(stSelectedRes.dmtn.getIndex(stSelectedRes.dmtn
                    // .getLastChild()));
                    // ((DefaultTreeModel)
                    // resultTree.getModel()).reload(stSelectedRes.dmtn);
                }
            } catch (NoSuchElementException ex) {
                // nothing to do
            }
        } else if (action.equals("SaveOperation")) {
            File dir = new File(currentDir);
            File file = new File(currentDir + File.separator + onSelected.sName + ".tc");
            JFileChooser dlg = new JFileChooser(dir);
            dlg.setSelectedFile(file);
            dlg.setDialogTitle("SaveOperation");
            dlg.setFileFilter(getUcsTCFilter());
            if (dlg.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                String fname = dlg.getSelectedFile().getPath();
                // update current diretory
                currentDir = fname.substring(0, fname.lastIndexOf(File.separator));
                // this.setCursor(Cursor.WAIT_CURSOR);
                XlsUtil.saveOperation(onSelected, top_ParaTree, fname);
                // this.setCursor(Cursor.DEFAULT_CURSOR);
            }
        } else if (action.equals("LoadOperation")) {
            File dir = new File(currentDir);
            File file = new File(currentDir + File.separator + onSelected.sName + ".tc");
            JFileChooser dlg = new JFileChooser(dir);
            dlg.setSelectedFile(file);
            dlg.setDialogTitle("LoadOperation");
            dlg.setFileFilter(getUcsTCFilter());
            if (dlg.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                String fname = dlg.getSelectedFile().getPath();
                // update current diretory
                currentDir = fname.substring(0, fname.lastIndexOf(File.separator));
                // this.setCursor(Cursor.WAIT_CURSOR);
                XlsUtil.loadOperation(onSelected, top_ParaTree, fname, paraTree);
                ((DefaultTreeModel) paraTree.getModel()).reload(top_ParaTree);
                // this.setCursor(Cursor.DEFAULT_CURSOR);
            }
        } else if (action.equals("ServerExtension")) {
            File src = new File(CorbaMNQ.projectDir + File.separator + "dsi" + File.separator
                    + "src" + File.separator + onSelected.getClassName() + ".java");

            String content = "";
            if (src.exists()) {
                // load the file content
                try {
                    FileInputStream fis = new FileInputStream(src);

                    while (fis.available() != 0) {
                        byte[] bA = new byte[fis.available()];
                        int numRead = fis.read(bA);
                        if (numRead > 0) {
                            content += new String(bA, 0, numRead);
                        }
                        // continue
                    }

                    // close file
                    fis.close();
                } catch (Exception e1) {
                    LOG.severe(e1.getMessage());
                    content = onSelected.getCodeBase();
                }
            } else {
                content = onSelected.getCodeBase();
            }

            // seEditorPane.showJava(content);
            seEditor.showJava(content);
            // make the window to be visible
            TitledTab t_se = (TitledTab) tabbedOutput.getTabAt(4);
            t_se.setText(onSelected.getClassName() + ".java");
            tabbedOutput.setSelectedTab(t_se);
        } else if (action.equals("AddOperation")) {
            File dir = new File(currentDir);
            JFileChooser dlg = new JFileChooser(dir);
            dlg.setDialogTitle("AddOperation");
            dlg.setFileFilter(getUcsTCFilter());
            // dlg.se
            if (dlg.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                String fname = dlg.getSelectedFile().getPath();
                // update current diretory
                currentDir = fname.substring(0, fname.lastIndexOf(File.separator));
                // this.setCursor(Cursor.WAIT_CURSOR);
                XlsUtil.addOperation(top_CaseTree, fname, "");
                ((DefaultTreeModel) caseTree.getModel()).reload(top_CaseTree);
                // this.setCursor(Cursor.DEFAULT_CURSOR);
            }
        } else if (action.equals("RemoveOperation")) {
            ReplaceUtil.removeList(currentCasePara);
            MatchUtil.removePatternList(currentCasePara);
            int index = ReplaceUtil.getNodeIndex(currentCasePara);
            top_CaseTree.remove(index);
            caseTree.setSelectionPath(new TreePath(top_CaseTree.getPath()));
            ((DefaultTreeModel) caseTree.getModel()).reload(top_CaseTree);
        } else if (action.equals("RemoveAllOperation")) {
            if (!top_CaseTree.isLeaf()) // remove child
            {
                ReplaceUtil.clearAll();
                MatchUtil.clearAll();
                top_CaseTree.removeAllChildren(true);
                ((DefaultTreeModel) caseTree.getModel()).reload(top_CaseTree);
            }
        } else if (action.equals("SaveOperationFlow")) {
            File dir = new File(currentDir);
            JFileChooser dlg = new JFileChooser(dir);
            dlg.setDialogTitle("SaveOperationFlow");
            dlg.setFileFilter(getUcsOpfFilter());
            if (dlg.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                String fname = dlg.getSelectedFile().getPath();
                String tsName = dlg.getSelectedFile().getName();
                // update current diretory
                currentDir = fname.substring(0, fname.lastIndexOf(File.separator));
                // this.setCursor(Cursor.CROSSHAIR_CURSOR);
                XlsUtil.saveOpFlow(top_CaseTree, fname);
                // this.setCursor(Cursor.DEFAULT_CURSOR);

                // change the test suite name
                top_CaseTree.setUserObject(tsName);
                ArgsCellEditor.createTreeCellEditorComponent(top_CaseTree, caseTree);
                ((DefaultTreeModel) caseTree.getModel()).reload(top_CaseTree);
            }
        } else if (action.equals("OpenOperationFlow")) {
            File dir = new File(currentDir);
            JFileChooser dlg = new JFileChooser(dir);
            dlg.setDialogTitle("OpenOperationFlow");
            dlg.setFileFilter(getUcsOpfFilter());
            if (dlg.showOpenDialog(this) == JFileChooser.APPROVE_OPTION) {
                String fname = dlg.getSelectedFile().getPath();
                String tsName = dlg.getSelectedFile().getName();
                // update current diretory
                currentDir = fname.substring(0, fname.lastIndexOf(File.separator));
                this.setCursor(Cursor.WAIT_CURSOR);
                XlsUtil.loadOpFlow(top_CaseTree, fname);
                // change the test suite name
                top_CaseTree.setUserObject(tsName);
                ArgsCellEditor.createTreeCellEditorComponent(top_CaseTree, caseTree);
                ((DefaultTreeModel) caseTree.getModel()).reload(top_CaseTree);
                setCursor(new Cursor(Cursor.DEFAULT_CURSOR));
                // this.setCursor(Cursor.DEFAULT_CURSOR);
            }

        } else if (action.equals("ExecuteOperationFlow")) {
            Thread t = new Thread(new RunOpFlow(top_CaseTree, caseTree));
            t.start();
        } else if (action.equals("SetDependency")) {
            DependencyUtil.setCurrentPara(currentCasePara);
            caseTree.setEditable(false);
            setCursor(new Cursor(Cursor.HAND_CURSOR));
            // this.setCursor(Cursor.HAND_CURSOR);
        } else if (action.equals("CancelDependency")) {
            ReplaceUtil.removePara(currentCasePara);
            commonPane.appendln("no dependency");
        } else if (action.equals("AutomaticAddMatchCondition")) {
            // automatically add match condition
            autoAddMatchCondition(currentCasePara);
        } else if (action.equals("CancelAllMatchConditionUnderThisNode")) {
            // cancle all match condition under this node (include
            // this node)
            cancelAllMatchConditionUnderThisNode(currentCasePara);
            commonPane
                    .appendln("All match conditions under this node (include this node) were canceled");
        } else if (action.equals("SetMatchCondition")) {
            String p = JOptionPane.showInputDialog(this, "Input Match Condition:");
            if (p == null)
                return;
            String s = MatchUtil.checkPattern(p);
            if (s != null) {
                JOptionPane.showMessageDialog(this, s, "The condition is not valid", 2);
                return;
            }
            MatchUtil.setPattern(currentCasePara, p);
            commonPane.appendln("MatchCondition=" + p);
        } else if (action.equals("CancelMatchCondition")) {
            MatchUtil.removePattern(currentCasePara);
            commonPane.appendln("MatchCondition was canceled");
        } else if (action.equals("EnableIterator")) {
            String iter = JOptionPane.showInputDialog(this, "Input Iterator Condition:");
            if (iter == null)
        

⌨️ 快捷键说明

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