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

📄 staxreleaseaction.java

📁 Software Testing Automation Framework (STAF)的开发代码
💻 JAVA
字号:
/*****************************************************************************//* Software Testing Automation Framework (STAF)                              *//* (C) Copyright IBM Corp. 2002                                              *//*                                                                           *//* This software is licensed under the Common Public License (CPL) V1.0.     *//*****************************************************************************/package com.ibm.staf.service.stax;import java.util.TreeMap;public class STAXReleaseAction implements STAXAction{    private STAXReleaseAction()    { /* Do Nothing */ }    public STAXReleaseAction(String blockName)    {        fUnevalBlockName = blockName;        fBlockName = blockName;    }    public STAXReleaseAction(String blockName, String ifAttr)    {        fUnevalBlockName = blockName;        fBlockName = blockName;        fUnevalIf = ifAttr;    }    public String getXMLInfo()    {        String info = "<release";                 if (fUnevalBlockName != null)            info += " block=\"" + fBlockName + "\"";                if (!fUnevalIf.equals("1"))            info += " if=\"" + fUnevalIf + "\"";        info += "/>";        return info;    }    public String getInfo()    {        return fBlockName;    }    public String getDetails()    {        return "BlockName:" + fBlockName;    }    public void execute(STAXThread thread)    {        thread.popAction();        try        {            fIf = thread.pyBoolEval(fUnevalIf);            if (!fIf)            {                // Ignore release if "if" attribute evaluates to FALSE                return;            }            if (fUnevalBlockName == null)                fBlockName = thread.pyStringEval("STAXCurrentBlock");            else                fBlockName = thread.pyStringEval(fUnevalBlockName);        }        catch (STAXPythonEvaluationException e)        {            thread.setSignalMsgVar("STAXPythonEvalMsg", getXMLInfo(), e);            thread.raiseSignal("STAXPythonEvaluationError");            return;        }        TreeMap blockMap = (TreeMap)thread.getJob().getData("blockMap");        if (!blockMap.containsKey(fBlockName))        {            thread.setSignalMsgVar("STAXBlockDoesNotExistMsg", getXMLInfo());            thread.raiseSignal("STAXBlockDoesNotExist");        }        else        {            STAXBlockAction theBlock = (STAXBlockAction)blockMap.get(fBlockName);            if (theBlock.getBlockState() == STAXBlockAction.BLOCK_HELD)                theBlock.releaseBlock();        }    }    public void handleCondition(STAXThread thread, STAXCondition cond)    {        thread.popAction();    }    public STAXAction cloneAction()    {        STAXReleaseAction clone = new STAXReleaseAction();        clone.fUnevalBlockName = fUnevalBlockName;        clone.fBlockName = fBlockName;        clone.fUnevalIf = fUnevalIf;        clone.fIf = fIf;        return clone;    }    private String fUnevalBlockName;    private String fBlockName;    private String fUnevalIf = "1";    private boolean fIf = true;}

⌨️ 快捷键说明

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