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

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

?? abstracthibernateworkflowstore.java

?? 一個很好實用的工作流OSWORKFLOW開發例子.有著非常優秀的靈活性.
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* * Copyright (c) 2002-2003 by OpenSymphony * All rights reserved. */package com.opensymphony.workflow.spi.hibernate;import com.opensymphony.module.propertyset.PropertySet;import com.opensymphony.workflow.QueryNotSupportedException;import com.opensymphony.workflow.StoreException;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 com.opensymphony.workflow.spi.Step;import com.opensymphony.workflow.spi.WorkflowEntry;import com.opensymphony.workflow.spi.WorkflowStore;import com.opensymphony.workflow.util.PropertySetDelegate;import net.sf.hibernate.Criteria;import net.sf.hibernate.HibernateException;import net.sf.hibernate.Session;import net.sf.hibernate.expression.Criterion;import net.sf.hibernate.expression.Expression;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Set;/** * @author Luca Masini * @since 2005-9-23 * */public abstract class AbstractHibernateWorkflowStore implements WorkflowStore {    //~ Instance fields ////////////////////////////////////////////////////////    private PropertySetDelegate propertySetDelegate;    private String cacheRegion = null;    private boolean cacheable = false;    //~ Methods ////////////////////////////////////////////////////////////////    // ~ Getter/Setter ////////////////////////////////////////////////////////////////    public void setCacheRegion(String cacheRegion) {        this.cacheRegion = cacheRegion;    }    public void setCacheable(boolean cacheable) {        this.cacheable = cacheable;    }    public void setEntryState(final long entryId, final int state) throws StoreException {        loadEntry(entryId).setState(state);    }    public PropertySet getPropertySet(long entryId) throws StoreException {        if (getPropertySetDelegate() == null) {            throw new StoreException("PropertySetDelegate is not properly configured");        }        return getPropertySetDelegate().getPropertySet(entryId);    }    public void setPropertySetDelegate(PropertySetDelegate propertySetDelegate) {        this.propertySetDelegate = propertySetDelegate;    }    public PropertySetDelegate getPropertySetDelegate() {        return propertySetDelegate;    }    public Step createCurrentStep(final long entryId, final int stepId, final String owner, final Date startDate, final Date dueDate, final String status, final long[] previousIds) throws StoreException {        final HibernateWorkflowEntry entry = loadEntry(entryId);        final HibernateCurrentStep step = new HibernateCurrentStep();        step.setStepId(stepId);        step.setOwner(owner);        step.setStartDate(startDate);        step.setDueDate(dueDate);        step.setStatus(status);        // This is for backward compatibility, but current Store doesn't         // persist this collection, nor is such property visibile outside         // OSWF internal classes        List previousSteps = new ArrayList(previousIds.length);        for (int i = 0; i < previousIds.length; i++) {            HibernateCurrentStep previousStep = new HibernateCurrentStep();            previousSteps.add(previousStep);        }        step.setPreviousSteps(previousSteps);        entry.addCurrentSteps(step);        // We need to save here because we soon will need the stepId         // that hibernate calculate on save or flush        save(step);        return step;    }    public WorkflowEntry createEntry(String workflowName) throws StoreException {        final HibernateWorkflowEntry entry = new HibernateWorkflowEntry();        entry.setState(WorkflowEntry.CREATED);        entry.setWorkflowName(workflowName);        save(entry);        return entry;    }    public List findCurrentSteps(final long entryId) throws StoreException {        // We are asking for current step list, so here we have an anti-lazy        // copy of the Hibernate array in memory. This also prevents problem         // in case the use is going with a pattern that span a session         // for method call        return new ArrayList(loadEntry(entryId).getCurrentSteps());    }    public WorkflowEntry findEntry(long entryId) throws StoreException {        return loadEntry(entryId);    }    public List findHistorySteps(final long entryId) throws StoreException {        // We are asking for current step list, so here we have an anti-lazy        // copy of the Hibernate array in memory. This also prevents problem         // in case the use is going with a pattern that span a session         // for method call        return new ArrayList(loadEntry(entryId).getHistorySteps());    }    public Step markFinished(Step step, int actionId, Date finishDate, String status, String caller) throws StoreException {        final HibernateCurrentStep currentStep = (HibernateCurrentStep) step;        currentStep.setActionId(actionId);        currentStep.setFinishDate(finishDate);        currentStep.setStatus(status);        currentStep.setCaller(caller);        return currentStep;    }    public void moveToHistory(final Step step) throws StoreException {        final HibernateCurrentStep currentStep = (HibernateCurrentStep) step;        final HibernateWorkflowEntry entry = currentStep.getEntry();        final HibernateHistoryStep hStep = new HibernateHistoryStep(currentStep);        entry.removeCurrentSteps(currentStep);        delete(currentStep);        entry.addHistorySteps(hStep);        // We need to save here because we soon will need the stepId         // that hibernate calculate on save or flush        save(hStep);    }    public List query(final WorkflowQuery query) throws StoreException {        return (List) execute(new InternalCallback() {                public Object doInHibernate(Session session) throws HibernateException, StoreException {                    Class entityClass;                    int qtype = query.getType();                    if (qtype == 0) { // then not set, so look in sub queries                        if (query.getLeft() != null) {                            qtype = query.getLeft().getType();                        }                    }                    if (qtype == WorkflowQuery.CURRENT) {                        entityClass = HibernateCurrentStep.class;                    } else {                        entityClass = HibernateHistoryStep.class;                    }                    Criteria criteria = session.createCriteria(entityClass);                    Criterion expression = buildExpression(query);                    criteria.setCacheable(isCacheable());                    if (isCacheable()) {                        criteria.setCacheRegion(getCacheRegion());                    }                    criteria.add(expression);                    Set results = new HashSet();                    Iterator iter = criteria.list().iterator();                    while (iter.hasNext()) {                        HibernateStep step = (HibernateStep) iter.next();                        results.add(new Long(step.getEntryId()));                    }                    return new ArrayList(results);                }            });    }    /*     * (non-Javadoc)     *     * @see com.opensymphony.workflow.spi.WorkflowStore#query(com.opensymphony.workflow.query.WorkflowExpressionQuery)     */    public List query(final WorkflowExpressionQuery query) throws StoreException {        return (List) execute(new InternalCallback() {                public Object doInHibernate(Session session) throws HibernateException {                    com.opensymphony.workflow.query.Expression expression = query.getExpression();                    Criterion expr;                    Class entityClass = getQueryClass(expression, null);                    if (expression.isNested()) {                        expr = buildNested((NestedExpression) expression);                    } else {                        expr = queryComparison((FieldExpression) expression);                    }                    Criteria criteria = session.createCriteria(entityClass);                    criteria.setCacheable(isCacheable());                    if (isCacheable()) {                        criteria.setCacheRegion(getCacheRegion());                    }                    criteria.add(expr);                    Set results = new HashSet();                    Iterator iter = criteria.list().iterator();                    while (iter.hasNext()) {                        Object next = iter.next();                        Object item;                        if (next instanceof HibernateStep) {                            HibernateStep step = (HibernateStep) next;                            item = new Long(step.getEntryId());                        } else {                            WorkflowEntry entry = (WorkflowEntry) next;                            item = new Long(entry.getId());                        }                        results.add(item);                    }                    return new ArrayList(results);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
老司机午夜精品| 91国在线观看| 色悠悠亚洲一区二区| 欧美一区二区视频在线观看2020| 久久久久久久精| 日本不卡123| 色偷偷88欧美精品久久久| 久久久久久麻豆| 日本美女视频一区二区| 在线欧美一区二区| 亚洲图片激情小说| 粉嫩蜜臀av国产精品网站| 日韩欧美123| 日韩精品一二区| 欧美日韩一区二区在线观看视频| 国产三级欧美三级| 韩国女主播成人在线观看| 日韩视频在线你懂得| 天涯成人国产亚洲精品一区av| 91在线免费看| 亚洲人成亚洲人成在线观看图片| 福利电影一区二区三区| 国产欧美中文在线| 国产精品原创巨作av| 26uuu精品一区二区| 国产在线观看一区二区| 日韩欧美一区在线观看| 日本强好片久久久久久aaa| 欧美人牲a欧美精品| 天天色图综合网| 欧美精品在线视频| 蜜臀久久久久久久| 日韩美一区二区三区| 国模大尺度一区二区三区| 精品国产伦理网| 黄页网站大全一区二区| 久久美女艺术照精彩视频福利播放 | 91麻豆精品国产综合久久久久久| 亚洲国产日韩精品| 欧美日韩免费在线视频| 天天色综合成人网| 欧美成人性战久久| 国产精品一区专区| 国产女人18水真多18精品一级做 | 另类人妖一区二区av| xf在线a精品一区二区视频网站| 久久99精品久久只有精品| 国产亚洲美州欧州综合国| www.性欧美| 亚洲一区二区三区不卡国产欧美| 欧美女孩性生活视频| 久久国产精品无码网站| 欧美国产国产综合| 91免费看视频| 喷水一区二区三区| 中文字幕精品在线不卡| 欧美伊人精品成人久久综合97| 视频一区在线播放| 国产三级欧美三级日产三级99| 91蜜桃在线免费视频| 首页国产欧美久久| 欧美极品美女视频| 欧美日韩国产天堂| 国产中文一区二区三区| 最新热久久免费视频| 日韩你懂的电影在线观看| av高清不卡在线| 久久成人综合网| 亚洲男人天堂av| 久久噜噜亚洲综合| 欧美久久免费观看| 成人av在线一区二区| 毛片一区二区三区| 亚洲精品日韩综合观看成人91| 日韩一级大片在线观看| 色综合久久综合网欧美综合网| 欧美aaa在线| 一区二区三区中文字幕在线观看| 日韩视频一区在线观看| 日本高清不卡一区| 国产激情一区二区三区| 视频在线观看国产精品| 亚洲精品欧美二区三区中文字幕| xnxx国产精品| 日韩免费成人网| 欧美日韩亚州综合| 色婷婷久久综合| 成人天堂资源www在线| 美腿丝袜亚洲色图| 视频一区在线视频| 亚洲一区欧美一区| 亚洲免费三区一区二区| 欧美激情综合网| 欧美精品一区二区在线播放 | 久久久不卡影院| 欧美一区二区视频在线观看2020| 色av综合在线| 9i在线看片成人免费| 国产成人超碰人人澡人人澡| 毛片av中文字幕一区二区| 亚洲国产一区二区三区青草影视| 婷婷久久综合九色综合绿巨人| 国产精品麻豆一区二区| 亚洲国产精品99久久久久久久久| 欧美大片一区二区| 日韩一区二区影院| 在线不卡的av| 欧美一区二区三区系列电影| 337p亚洲精品色噜噜狠狠| 欧美午夜精品久久久| 欧美在线观看视频在线| 欧美系列一区二区| 欧美吞精做爰啪啪高潮| 欧美日韩夫妻久久| 欧美三级日本三级少妇99| 欧美日韩视频在线第一区| 欧美日韩国产中文| 日韩视频一区二区| 精品国产乱码久久久久久久久 | 亚洲精品国产无天堂网2021 | 在线一区二区三区做爰视频网站| 成人精品在线视频观看| 成人激情免费视频| 91热门视频在线观看| 欧美性猛交xxxx乱大交退制版| 在线观看日韩电影| 欧美精品v国产精品v日韩精品 | 欧美日韩国产高清一区二区| 欧美人xxxx| 日韩欧美一区二区久久婷婷| 久久你懂得1024| 国产精品麻豆一区二区| 亚洲成人资源在线| 美女高潮久久久| 波多野结衣亚洲一区| 欧美日韩一区二区三区在线看| 欧美高清www午色夜在线视频| 欧美精品一区二区三区蜜桃| 国产精品伦一区| 亚洲mv在线观看| 国产成人自拍网| 欧美日韩国产综合视频在线观看| 精品日韩99亚洲| 亚洲老司机在线| 另类中文字幕网| 色婷婷精品久久二区二区蜜臂av | 亚洲欧美色图小说| 男女性色大片免费观看一区二区| 国产精品资源在线观看| 欧美三级日韩在线| 国产清纯白嫩初高生在线观看91 | 懂色av一区二区三区免费观看| 日韩欧美亚洲国产另类| 国产精品视频一二三区| 首页国产欧美日韩丝袜| 成人晚上爱看视频| 88在线观看91蜜桃国自产| 中文字幕高清一区| 青娱乐精品视频| 色婷婷av久久久久久久| 精品少妇一区二区三区日产乱码| 综合久久久久久| 国产原创一区二区| 欧美日韩精品三区| 亚洲丝袜美腿综合| 高清国产一区二区| 欧美成人r级一区二区三区| 亚洲美女区一区| 国产福利视频一区二区三区| 欧美日韩国产色站一区二区三区| 日本一二三不卡| 激情综合网天天干| 日韩区在线观看| 亚洲成av人片在www色猫咪| 成人手机在线视频| 久久影院午夜片一区| 青椒成人免费视频| 91麻豆精品国产91| 亚洲大片在线观看| 欧美在线看片a免费观看| 国产日产欧产精品推荐色| 人妖欧美一区二区| 欧美日高清视频| 亚洲va中文字幕| 欧美亚洲国产一区在线观看网站 | 国产日韩精品一区| 精品一区二区三区在线播放视频| 欧美高清性hdvideosex| 亚洲国产日韩一级| 欧洲av一区二区嗯嗯嗯啊| 亚洲欧美日本韩国| 色婷婷国产精品综合在线观看| 国产精品乱码妇女bbbb| 粉嫩一区二区三区性色av| 亚洲国产高清aⅴ视频| 成人免费看视频| 国产精品美女www爽爽爽| 丰满岳乱妇一区二区三区| 中文字幕免费一区| www.欧美色图|