亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? abstractfunctionalworkflowtest.java

?? 一個很好實用的工作流OSWORKFLOW開發例子.有著非常優秀的靈活性.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (c) 2002-2003 by OpenSymphony * All rights reserved. */package com.opensymphony.workflow.spi;import com.opensymphony.user.EntityNotFoundException;import com.opensymphony.user.Group;import com.opensymphony.user.User;import com.opensymphony.user.UserManager;import com.opensymphony.workflow.AbstractWorkflow;import com.opensymphony.workflow.QueryNotSupportedException;import com.opensymphony.workflow.Workflow;import com.opensymphony.workflow.WorkflowException;import com.opensymphony.workflow.basic.BasicWorkflow;import com.opensymphony.workflow.loader.WorkflowDescriptor;import com.opensymphony.workflow.query.Expression;import com.opensymphony.workflow.query.FieldExpression;import com.opensymphony.workflow.query.NestedExpression;import com.opensymphony.workflow.query.WorkflowExpressionQuery;import com.opensymphony.workflow.query.WorkflowQuery;import junit.framework.TestCase;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import java.util.Collections;import java.util.Date;import java.util.HashMap;import java.util.List;import java.util.Map;/** * This test case is functional in that it attempts to validate the entire * lifecycle of a workflow.  This is also a good resource for beginners * to OSWorkflow.  This class is extended to for various SPI's. * * @author Eric Pugh (epugh@upstate.com) */public abstract class AbstractFunctionalWorkflowTest extends TestCase {    //~ Static fields/initializers /////////////////////////////////////////////    private static final String USER_TEST = "test";    //~ Instance fields ////////////////////////////////////////////////////////    protected Log log;    protected Workflow workflow;    protected WorkflowDescriptor workflowDescriptor;    //~ Constructors ///////////////////////////////////////////////////////////    public AbstractFunctionalWorkflowTest(String s) {        super(s);        log = LogFactory.getLog(getClass());    }    //~ Methods ////////////////////////////////////////////////////////////////    public void testExampleWorkflow() throws Exception {        WorkflowQuery query;        String workflowName = getWorkflowName();        assertTrue("canInitialize for workflow " + workflowName + " is false", workflow.canInitialize(workflowName, 100));        long workflowId = workflow.initialize(workflowName, 100, new HashMap());        String workorderName = workflow.getWorkflowName(workflowId);        workflowDescriptor = workflow.getWorkflowDescriptor(workorderName);        if (log.isDebugEnabled()) {            log.debug("Name of workorder:" + workorderName);        }        assertTrue("Expected external-permission permA in step 1 not found", workflow.getSecurityPermissions(workflowId, null).contains("permA"));        List currentSteps = workflow.getCurrentSteps(workflowId);        assertEquals("Unexpected number of current steps", 1, currentSteps.size());        assertEquals("Unexpected current step", 1, ((Step) currentSteps.get(0)).getStepId());        List historySteps = workflow.getHistorySteps(workflowId);        assertEquals("Unexpected number of history steps", 0, historySteps.size());        if (log.isDebugEnabled()) {            log.debug("Perform Finish First Draft");        }        workflow.doAction(workflowId, 1, Collections.EMPTY_MAP);        int[] actions = workflow.getAvailableActions(workflowId, Collections.EMPTY_MAP);        assertEquals(3, actions.length);        historySteps = workflow.getHistorySteps(workflowId);        assertEquals("Unexpected number of history steps", 1, historySteps.size());        Step historyStep = (Step) historySteps.get(0);        assertEquals(USER_TEST, historyStep.getCaller());        assertNull(historyStep.getDueDate());        // check system date, add in a 1 second fudgefactor.        assertTrue("history step finish date " + historyStep.getFinishDate() + " is in the future!", (historyStep.getFinishDate().getTime() - 1000) < System.currentTimeMillis());        logActions(actions);        if (log.isDebugEnabled()) {            log.debug("Perform Finish Foo");        }        workflow.doAction(workflowId, 12, Collections.EMPTY_MAP);        //Step lastHistoryStep = historyStep;        historySteps = workflow.getHistorySteps(workflowId);        assertEquals("Unexpected number of history steps", 2, historySteps.size());        if (log.isDebugEnabled()) {            log.debug("Perform Stay in Bar");        }        workflow.doAction(workflowId, 113, Collections.EMPTY_MAP);        actions = workflow.getAvailableActions(workflowId, Collections.EMPTY_MAP);        assertEquals(2, actions.length);        assertTrue((actions[0] == 13) && (actions[1] == 113));        logActions(actions);        //historyStep = (Step) historySteps.get(0);        //assertEquals(lastHistoryStep.getId(), historyStep.getId());        if (log.isDebugEnabled()) {            log.debug("Perform Finish Bar");        }        workflow.doAction(workflowId, 13, Collections.EMPTY_MAP);        actions = workflow.getAvailableActions(workflowId, Collections.EMPTY_MAP);        assertEquals(1, actions.length);        logActions(actions);        if (log.isDebugEnabled()) {            log.debug("Perform Finish Baz");        }        workflow.doAction(workflowId, 14, Collections.EMPTY_MAP);        actions = workflow.getAvailableActions(workflowId, Collections.EMPTY_MAP);        logActions(actions);        historySteps = workflow.getHistorySteps(workflowId);        assertEquals("Unexpected number of history steps", 5, historySteps.size());        if (log.isDebugEnabled()) {            log.debug("Perform Finish Editing");        }        workflow.doAction(workflowId, 3, Collections.EMPTY_MAP);        actions = workflow.getAvailableActions(workflowId, Collections.EMPTY_MAP);        assertEquals(3, actions.length);        logActions(actions);        if (log.isDebugEnabled()) {            log.debug("Perform Publish Doc");        }        workflow.doAction(workflowId, 7, Collections.EMPTY_MAP);        actions = workflow.getAvailableActions(workflowId, Collections.EMPTY_MAP);        assertEquals(1, actions.length);        logActions(actions);        if (log.isDebugEnabled()) {            log.debug("Perform Publish Document");        }        workflow.doAction(workflowId, 11, Collections.EMPTY_MAP);        actions = workflow.getAvailableActions(workflowId, Collections.EMPTY_MAP);        assertEquals(0, actions.length);        historySteps = workflow.getHistorySteps(workflowId);        assertEquals("Unexpected number of history steps", 8, historySteps.size());        query = new WorkflowQuery(WorkflowQuery.OWNER, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, USER_TEST);        try {            List workflows = workflow.query(query);            assertEquals("Unexpected number of workflow query results", 1, workflows.size());            WorkflowQuery queryLeft = new WorkflowQuery(WorkflowQuery.OWNER, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, USER_TEST);            WorkflowQuery queryRight = new WorkflowQuery(WorkflowQuery.STATUS, WorkflowQuery.CURRENT, WorkflowQuery.EQUALS, "Finished");            query = new WorkflowQuery(queryLeft, WorkflowQuery.AND, queryRight);            workflows = workflow.query(query);            assertEquals("Unexpected number of workflow query results", 1, workflows.size());        } catch (QueryNotSupportedException ex) {            System.out.println("query not supported");        }    }    public void testExceptionOnIllegalStayInCurrentStep() throws Exception {        String workflowName = getWorkflowName();        assertTrue("canInitialize for workflow " + workflowName + " is false", workflow.canInitialize(workflowName, 100));        try {            long workflowId = workflow.initialize(workflowName, 200, new HashMap());            fail("initial action result specified target step of current step. Succeeded but should not have.");        } catch (WorkflowException e) {            // expected, no such thing as current step for initial action        }    }    public void testMetadataAccess() throws Exception {        String workflowName = getWorkflowName();        long workflowId = workflow.initialize(workflowName, 100, new HashMap());        WorkflowDescriptor wfDesc = workflow.getWorkflowDescriptor(workflowName);        Map meta = wfDesc.getMetaAttributes();        assertTrue("missing metadata", (meta.get("workflow-meta1")).equals("workflow-meta1-value"));        assertTrue("missing metadata", (meta.get("workflow-meta2")).equals("workflow-meta2-value"));        meta = wfDesc.getStep(1).getMetaAttributes();        assertTrue("missing metadata", (meta.get("step-meta1")).equals("step-meta1-value"));        assertTrue("missing metadata", (meta.get("step-meta2")).equals("step-meta2-value"));        meta = wfDesc.getAction(1).getMetaAttributes();        assertTrue("missing metadata", (meta.get("action-meta1")).equals("action-meta1-value"));        assertTrue("missing metadata", (meta.get("action-meta2")).equals("action-meta2-value"));    }    public void testWorkflowExpressionQuery() throws Exception {        List workflows;        WorkflowExpressionQuery query;        String workflowName = getWorkflowName();        assertTrue("canInitialize for workflow " + workflowName + " is false", workflow.canInitialize(workflowName, 100));        //-------------------   FieldExpression.OWNER  +  FieldExpression.CURRENT_STEPS ----------------------        query = new WorkflowExpressionQuery(new FieldExpression(FieldExpression.OWNER, FieldExpression.CURRENT_STEPS, FieldExpression.EQUALS, USER_TEST));        try {            workflows = workflow.query(query);            assertEquals("empty OWNER+CURRENT_STEPS", 0, workflows.size());        } catch (QueryNotSupportedException e) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产乱码久久久久久老虎| 国产在线不卡视频| 国产亚洲精品aa| 欧美mv日韩mv亚洲| 日韩一区二区三区在线| 日韩精品专区在线| 欧美电影免费观看高清完整版| 日韩一区二区电影网| 欧美zozozo| 亚洲精品一区二区在线观看| 久久色在线视频| 国产精品久久久一本精品 | 日日噜噜夜夜狠狠视频欧美人| 亚洲aⅴ怡春院| 亚洲一区免费视频| 日韩主播视频在线| 麻豆成人免费电影| 丰满亚洲少妇av| 色八戒一区二区三区| 欧美亚洲禁片免费| 日韩欧美一级二级三级久久久| 日韩美女视频一区二区在线观看| 精品久久一二三区| 成人免费小视频| 亚洲国产精品影院| 国产一区二区毛片| 色综合久久综合中文综合网| 欧美三级三级三级爽爽爽| 宅男噜噜噜66一区二区66| 日韩午夜精品电影| 中文字幕一区免费在线观看| 亚洲综合精品自拍| 国产剧情一区二区三区| 色哟哟日韩精品| 日韩精品一区二区三区中文不卡 | 丝袜诱惑制服诱惑色一区在线观看| 亚洲高清免费在线| 国产精品538一区二区在线| 99精品欧美一区| 日韩精品中文字幕在线不卡尤物| 国产精品私人影院| 免费在线观看日韩欧美| 成人av小说网| 精品久久国产97色综合| 亚洲精品自拍动漫在线| 激情成人综合网| 欧美视频中文字幕| 亚洲国产精品二十页| 婷婷久久综合九色综合伊人色| 国产不卡免费视频| 欧美一级夜夜爽| 一区二区三区日韩在线观看| 国产在线不卡一卡二卡三卡四卡| 欧美日韩一区精品| 亚洲人成网站色在线观看 | 国产亚洲欧洲997久久综合 | 欧美一区二区视频观看视频| 亚洲欧美在线aaa| 国产美女娇喘av呻吟久久| 欧美高清视频不卡网| 一区二区三区在线免费视频| 成人aa视频在线观看| 国产视频在线观看一区二区三区| 日本午夜精品视频在线观看| 欧美色大人视频| 亚洲自拍偷拍九九九| av电影在线观看一区| 国产清纯白嫩初高生在线观看91| 美女在线视频一区| 欧美精品亚洲一区二区在线播放| 亚洲欧洲在线观看av| 成人免费高清在线| 国产精品家庭影院| 成人免费视频一区二区| 国产日韩欧美综合一区| 韩国一区二区三区| 国产三级一区二区三区| 国产一区二区调教| 国产三级精品三级在线专区| 国产成人免费网站| 国产精品高潮呻吟久久| 9i看片成人免费高清| 亚洲欧美自拍偷拍色图| 色综合天天综合网天天看片| 亚洲精品国产品国语在线app| 色丁香久综合在线久综合在线观看| 亚洲婷婷综合久久一本伊一区| 不卡一区中文字幕| 亚洲免费观看高清在线观看| 日本韩国一区二区三区| 亚洲一区二区三区爽爽爽爽爽| 欧美少妇bbb| 蜜桃av噜噜一区| 久久精品亚洲乱码伦伦中文| 国产黄色精品视频| 一区二区三区小说| 欧美精品久久久久久久多人混战| 久久激情五月婷婷| 国产精品情趣视频| 欧美日韩激情一区二区三区| 免费观看在线综合色| 国产午夜精品久久久久久久| 成人黄色免费短视频| 亚洲一级在线观看| 亚洲精品一区二区三区在线观看| www.色综合.com| 日韩一区欧美二区| 久久蜜桃香蕉精品一区二区三区| eeuss鲁片一区二区三区在线看| 亚洲一区在线观看免费观看电影高清| 欧美一区二区成人| thepron国产精品| 日本强好片久久久久久aaa| 日本一区二区三区dvd视频在线| 色综合久久久久网| 国产一区二区三区综合| 一区二区三区资源| 久久精品网站免费观看| 欧美日韩日日骚| 国产99久久久久| 奇米影视7777精品一区二区| 亚洲日本在线视频观看| 久久综合色8888| 欧美日韩国产中文| 99精品久久99久久久久| 激情都市一区二区| 日本不卡123| 亚洲综合999| 亚洲欧美日韩国产另类专区| 久久色中文字幕| 欧美一区二区三区白人| 欧美优质美女网站| www.66久久| 国产成人av电影| 狠狠色丁香婷综合久久| 五月天亚洲婷婷| 亚洲午夜国产一区99re久久| 国产精品视频线看| 久久蜜桃av一区二区天堂| 日韩一区二区三区观看| 欧美久久高跟鞋激| 欧美精品日日鲁夜夜添| 91国产成人在线| 色欧美日韩亚洲| 91啪亚洲精品| 99久久精品国产精品久久| 国产成人av电影在线观看| 九九热在线视频观看这里只有精品 | 欧美日韩和欧美的一区二区| 99久久精品免费看| 不卡av在线网| av男人天堂一区| 一本在线高清不卡dvd| 色婷婷国产精品综合在线观看| 成人av动漫在线| 色狠狠色噜噜噜综合网| 日本高清无吗v一区| 一本大道久久a久久综合| 91麻豆免费观看| 91激情在线视频| 欧美乱妇一区二区三区不卡视频| 欧美中文字幕亚洲一区二区va在线| 色婷婷一区二区| 7777精品伊人久久久大香线蕉完整版 | 国产精品乱码一区二三区小蝌蚪| 欧美国产精品劲爆| 亚洲欧美国产77777| 亚洲在线一区二区三区| 无码av中文一区二区三区桃花岛| 亚洲国产欧美在线| 精品一区二区av| 成人一区二区三区| 91久久久免费一区二区| 日韩一级完整毛片| 国产亚洲综合性久久久影院| 自拍偷拍欧美精品| 亚洲福利电影网| 国产一区在线不卡| 91在线免费视频观看| 欧美唯美清纯偷拍| 欧美成人精品3d动漫h| 国产欧美一区二区三区鸳鸯浴 | 美女视频第一区二区三区免费观看网站| 日本不卡一区二区三区高清视频| 精油按摩中文字幕久久| 不卡影院免费观看| 欧美一级夜夜爽| 成人欧美一区二区三区| 午夜精品久久久久久久久| 激情欧美日韩一区二区| 日本韩国一区二区三区| 久久综合一区二区| 亚洲一区欧美一区| 国产高清不卡一区二区| 日本精品裸体写真集在线观看| 欧美电影免费观看高清完整版在线观看| 国产精品日产欧美久久久久| 日本在线不卡视频一二三区| 国产成人精品综合在线观看| 欧美日韩一区成人|