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

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

?? workflowsystem.java

?? 一個很好實用的工作流OSWORKFLOW開發例子.有著非常優秀的靈活性.
?? JAVA
字號:
/* * Copyright (c) 2002-2003 by OpenSymphony * All rights reserved. *//* * Created on Feb 12, 2004 * * */package com.opensymphony.workflow.spi.prevayler;import com.opensymphony.module.propertyset.PropertySet;import com.opensymphony.module.propertyset.PropertySetManager;import com.opensymphony.workflow.StoreException;import com.opensymphony.workflow.query.WorkflowExpressionQuery;import com.opensymphony.workflow.query.WorkflowQuery;import com.opensymphony.workflow.spi.SimpleStep;import com.opensymphony.workflow.spi.SimpleWorkflowEntry;import com.opensymphony.workflow.spi.Step;import com.opensymphony.workflow.spi.WorkflowEntry;import com.opensymphony.workflow.spi.WorkflowStore;import java.io.Serializable;import java.util.ArrayList;import java.util.Date;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.Map;/** * * * * @author Christopher Farnham chris.farnham@wrycan.com **/public class WorkflowSystem implements WorkflowStore, Serializable {    //~ Instance fields ////////////////////////////////////////////////////////    private HashMap _currentStepsCache = new HashMap();    private HashMap _entryCache = new HashMap();    private HashMap _historyStepsCache = new HashMap();    private HashMap _propertySetCache = new HashMap();    private transient QueryLogic _queryLogic = new QueryLogic(this);    private long _globalEntryId = 1;    private long _globalStepId = 1;    //~ Constructors ///////////////////////////////////////////////////////////    /**     *     */    public WorkflowSystem() {        super();    }    //~ Methods ////////////////////////////////////////////////////////////////    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#setEntryState(long, int)     */    public void setEntryState(long entryId, int state) throws StoreException {        SimpleWorkflowEntry entry = (SimpleWorkflowEntry) findEntry(entryId);        entry.setState(state);    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#getPropertySet(long)     */    public PropertySet getPropertySet(long entryId) throws StoreException {        PropertySet ps = (PropertySet) _propertySetCache.get(new Long(entryId));        if (ps == null) {            ps = PropertySetManager.getInstance("serializable", null);            _propertySetCache.put(new Long(entryId), ps);        }        return ps;    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#createCurrentStep(long, int, java.lang.String, java.util.Date, java.util.Date, java.lang.String, long[])     */    public Step createCurrentStep(long entryId, int stepId, String owner, Date startDate, Date dueDate, String status, long[] previousIds) throws StoreException {        long id = _globalStepId++;        SimpleStep step = new SimpleStep(id, entryId, stepId, 0, owner, startDate, dueDate, null, status, previousIds, null);        List currentSteps = (List) _currentStepsCache.get(new Long(entryId));        if (currentSteps == null) {            currentSteps = new ArrayList();            _currentStepsCache.put(new Long(entryId), currentSteps);        }        currentSteps.add(step);        return step;    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#createEntry(java.lang.String)     */    public WorkflowEntry createEntry(String workflowName) throws StoreException {        long id = _globalEntryId++;        SimpleWorkflowEntry entry = new SimpleWorkflowEntry(id, workflowName, WorkflowEntry.CREATED);        _entryCache.put(new Long(id), entry);        return entry;    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#findCurrentSteps(long)     */    public List findCurrentSteps(long entryId) throws StoreException {        List currentSteps = (List) _currentStepsCache.get(new Long(entryId));        if (currentSteps == null) {            currentSteps = new ArrayList();            _currentStepsCache.put(new Long(entryId), currentSteps);        }        return currentSteps;    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#findEntry(long)     */    public WorkflowEntry findEntry(long entryId) throws StoreException {        return (WorkflowEntry) _entryCache.get(new Long(entryId));    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#findHistorySteps(long)     */    public List findHistorySteps(long entryId) throws StoreException {        List historySteps = (List) _historyStepsCache.get(new Long(entryId));        if (historySteps == null) {            historySteps = new ArrayList();            _historyStepsCache.put(new Long(entryId), historySteps);        }        return historySteps;    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#init(java.util.Map)     */    public void init(Map props) throws StoreException {    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#markFinished(com.opensymphony.workflow.spi.Step, int, java.util.Date, java.lang.String, java.lang.String)     */    public Step markFinished(Step step, int actionId, Date finishDate, String status, String caller) throws StoreException {        List currentSteps = (List) _currentStepsCache.get(new Long(step.getEntryId()));        for (Iterator iterator = currentSteps.iterator(); iterator.hasNext();) {            SimpleStep theStep = (SimpleStep) iterator.next();            if (theStep.getId() == step.getId()) {                theStep.setStatus(status);                theStep.setActionId(actionId);                theStep.setFinishDate(finishDate);                theStep.setCaller(caller);                return theStep;            }        }        return null;    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#moveToHistory(com.opensymphony.workflow.spi.Step)     */    public void moveToHistory(Step step) throws StoreException {        List currentSteps = (List) _currentStepsCache.get(new Long(step.getEntryId()));        List historySteps = (List) _historyStepsCache.get(new Long(step.getEntryId()));        if (historySteps == null) {            historySteps = new ArrayList();            _historyStepsCache.put(new Long(step.getEntryId()), historySteps);        }        SimpleStep simpleStep = (SimpleStep) step;        for (Iterator iterator = currentSteps.iterator(); iterator.hasNext();) {            Step currentStep = (Step) iterator.next();            if (simpleStep.getId() == currentStep.getId()) {                iterator.remove();                historySteps.add(simpleStep);                break;            }        }    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#query(com.opensymphony.workflow.query.WorkflowQuery)     */    public List query(WorkflowQuery query) throws StoreException {        ArrayList results = new ArrayList();        for (Iterator iterator = _entryCache.entrySet().iterator();                iterator.hasNext();) {            Map.Entry mapEntry = (Map.Entry) iterator.next();            Long entryId = (Long) mapEntry.getKey();            if (_queryLogic.query(entryId, query)) {                results.add(entryId);            }        }        return results;    }    /* (non-Javadoc)     * @see com.opensymphony.workflow.spi.WorkflowStore#query(com.opensymphony.workflow.query.WorkflowExpressionQuery)     */    public List query(WorkflowExpressionQuery query) throws StoreException {        ArrayList results = new ArrayList();        for (Iterator iterator = _entryCache.entrySet().iterator();                iterator.hasNext();) {            Map.Entry mapEntry = (Map.Entry) iterator.next();            Long entryId = (Long) mapEntry.getKey();            if (_queryLogic.query(entryId, query)) {                results.add(entryId);            }        }        return results;    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av一区二区在线免费观看 | 性做久久久久久免费观看| 久久这里只有精品视频网| 日韩欧美在线不卡| 日韩精品一区二区三区在线| 在线成人av网站| 日韩精品一区二区三区中文精品| 日韩欧美成人一区二区| 精品毛片乱码1区2区3区| 欧美一级欧美三级| 久久久亚洲综合| 亚洲欧美在线aaa| 亚洲主播在线观看| 美女一区二区三区在线观看| 国内精品久久久久影院薰衣草| 国产精品99久久久久久久女警 | 国产精品丝袜久久久久久app| 国产精品理论在线观看| 一区二区三区在线播放| 亚洲一区二区精品久久av| 日本成人在线看| 国产精品一区二区久久精品爱涩 | 五月婷婷欧美视频| 日本午夜一区二区| 国产裸体歌舞团一区二区| 波多野结衣精品在线| 欧美日韩免费一区二区三区| 亚洲精品一区二区三区在线观看| 国产视频一区在线观看| 亚洲激情五月婷婷| 久久国产尿小便嘘嘘| 成人av在线资源| 欧美裸体一区二区三区| 国产精品视频在线看| 亚洲亚洲人成综合网络| 国内偷窥港台综合视频在线播放| 91视频在线看| 精品久久人人做人人爰| 亚洲同性gay激情无套| 美脚の诱脚舐め脚责91 | 中文字幕一区二区三区蜜月| 日产精品久久久久久久性色| 国产·精品毛片| 91精品福利在线一区二区三区 | 日韩中文字幕91| 成人天堂资源www在线| 91麻豆精品久久久久蜜臀| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 欧美日本视频在线| 久久久噜噜噜久久中文字幕色伊伊| 国产精品国产三级国产有无不卡 | 日本va欧美va精品| 成人毛片在线观看| 欧美r级电影在线观看| 亚洲丰满少妇videoshd| 91丨porny丨在线| 中文字幕精品一区二区精品绿巨人| 三级影片在线观看欧美日韩一区二区| 99精品视频一区二区| 久久精品人人做人人爽人人| 日本女优在线视频一区二区| 在线观看亚洲精品| 中文字幕在线不卡一区二区三区| 国产在线精品视频| 欧美精品久久99久久在免费线| 一区二区三区四区乱视频| 床上的激情91.| 国产亚洲综合色| 国产大陆a不卡| 久久精品一二三| 激情久久五月天| 欧美一区二区福利视频| 日本不卡中文字幕| 欧美日韩激情一区二区三区| 一区二区免费在线| 欧美中文一区二区三区| 亚洲高清一区二区三区| 欧美日韩不卡视频| 日日骚欧美日韩| 欧美二区三区的天堂| 青青草国产成人av片免费| 欧美一区二区黄色| 精品一二三四在线| 久久久99久久| av在线一区二区三区| 亚洲天堂免费在线观看视频| 色av综合在线| 日本欧美在线看| 久久久久久毛片| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 国产99久久久精品| 国产精品视频麻豆| 91传媒视频在线播放| 亚洲.国产.中文慕字在线| 欧美一区二区免费| 激情小说亚洲一区| 国产精品伦一区二区三级视频| 一本大道av一区二区在线播放| 亚洲午夜在线电影| 日韩欧美一卡二卡| 成人97人人超碰人人99| 亚洲午夜精品久久久久久久久| 欧美一级片在线观看| 成人亚洲一区二区一| 午夜成人免费电影| 欧美一二区视频| 亚洲精品国产a| 色综合久久99| 久久99久国产精品黄毛片色诱| 欧美激情一区二区三区不卡 | 自拍偷拍亚洲欧美日韩| 欧美色图天堂网| 国产精品综合二区| 亚洲国产视频一区二区| 久久久天堂av| 欧美日韩一本到| 福利一区福利二区| 亚洲成人av一区| 国产亚洲视频系列| 制服丝袜在线91| 99久久综合精品| 国内精品在线播放| 亚洲国产精品精华液网站| 欧美国产激情二区三区| 91精品在线观看入口| 91老司机福利 在线| 国产一二精品视频| 免费看黄色91| 婷婷综合久久一区二区三区| 亚洲视频一二三| 国产欧美一区二区三区在线看蜜臀 | 丰满白嫩尤物一区二区| 亚洲www啪成人一区二区麻豆| 国产三级精品三级在线专区| 91精品久久久久久久99蜜桃| 91精品福利视频| 不卡区在线中文字幕| 国产麻豆一精品一av一免费| 天堂va蜜桃一区二区三区漫画版| 亚洲嫩草精品久久| 国产精品美女久久久久aⅴ国产馆| 精品99一区二区三区| 欧美一级高清大全免费观看| 69p69国产精品| 欧美精品久久久久久久多人混战| 91福利区一区二区三区| 99综合电影在线视频| 成人小视频免费观看| 国产精品乡下勾搭老头1| 国内国产精品久久| 国产资源精品在线观看| 韩国女主播一区| 精品一区二区三区在线播放 | 色老综合老女人久久久| 波多野结衣视频一区| 91丨porny丨国产入口| 91在线国产观看| 色香色香欲天天天影视综合网| 91丨porny丨中文| 日本道免费精品一区二区三区| 色婷婷亚洲精品| 欧美日韩视频在线第一区 | 亚洲欧美福利一区二区| 亚洲精品日产精品乱码不卡| 亚洲一区在线观看免费 | 久久青草国产手机看片福利盒子| 日韩精品一区二区三区在线播放| 欧美tickling挠脚心丨vk| 久久亚洲一区二区三区明星换脸| 中文字幕一区二区三区精华液| 国产网站一区二区| 日韩一区在线免费观看| 一区二区三区精品视频| 日韩在线一区二区| 激情五月播播久久久精品| aaa国产一区| 欧美一级黄色录像| 国产精品欧美一区喷水| 亚洲成a人片在线观看中文| 久久激情五月婷婷| 高清在线不卡av| 制服丝袜激情欧洲亚洲| 欧美国产丝袜视频| 亚洲成av人片在线| 国产麻豆精品theporn| 91精品福利在线| 久久久久97国产精华液好用吗| 一区二区三区中文在线| 国产一区二区三区综合| 欧日韩精品视频| 欧美国产精品v| 秋霞电影一区二区| 色婷婷综合久久久久中文一区二区| 日韩欧美一区二区在线视频| 中文字幕一区免费在线观看| 麻豆成人在线观看| 91国产精品成人| 26uuu精品一区二区| 亚洲成人动漫av| 色婷婷综合激情|