📄 staxreleaseaction.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 + -