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

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

?? ofbizworkflowstore.java

?? 一個很好實用的工作流OSWORKFLOW開發例子.有著非常優秀的靈活性.
?? JAVA
字號:
/* * Copyright (c) 2002-2003 by OpenSymphony * All rights reserved. */package com.opensymphony.workflow.spi.ofbiz;import com.opensymphony.module.propertyset.PropertySet;import com.opensymphony.module.propertyset.PropertySetManager;import com.opensymphony.workflow.QueryNotSupportedException;import com.opensymphony.workflow.StoreException;import com.opensymphony.workflow.query.WorkflowExpressionQuery;import com.opensymphony.workflow.query.WorkflowQuery;import com.opensymphony.workflow.spi.*;import org.apache.commons.logging.Log;import org.apache.commons.logging.LogFactory;import org.ofbiz.core.entity.*;import org.ofbiz.core.util.UtilMisc;import java.sql.Timestamp;import java.util.*;/** * OpenForBusiness Entity Engine implemenation. * <p> * * Has one <b>optional</b> property that can be provided: * <ul> *  <li>delegator - the delegator name, defaults to "default"</li> * </ul> * * @author <a href="mailto:plightbo@hotmail.com">Pat Lightbody</a> */public class OfbizWorkflowStore implements WorkflowStore {    //~ Static fields/initializers /////////////////////////////////////////////    private static final Log log = LogFactory.getLog(OfbizWorkflowStore.class);    //~ Instance fields ////////////////////////////////////////////////////////    private GenericDelegator gd;    private String delegatorName;    //~ Methods ////////////////////////////////////////////////////////////////    public void setEntryState(long entryId, int state) throws StoreException {        try {            GenericValue gv = gd.findByPrimaryKey("OSWorkflowEntry", UtilMisc.toMap("id", new Long(entryId)));            gv.set("state", new Integer(state));            gd.store(gv);        } catch (GenericEntityException e) {            throw new StoreException("Could not update workflow instance #" + entryId + " to status " + state, e);        }    }    public PropertySet getPropertySet(long entryId) {        HashMap args = new HashMap(2);        args.put("entityId", new Long(entryId));        args.put("entityName", "WorkflowEntry");        return PropertySetManager.getInstance("ofbiz", args);    }    public Step createCurrentStep(long entryId, int stepId, String owner, Date startDate, Date dueDate, String status, long[] previousIds) throws StoreException {        try {            Long id = gd.getNextSeqId("OSCurrentStep");            HashMap valueMap = new HashMap();            valueMap.put("id", id);            valueMap.put("entryId", new Long(entryId));            valueMap.put("actionId", new Integer(0));            valueMap.put("stepId", new Integer(stepId));            valueMap.put("owner", owner);            valueMap.put("startDate", new Timestamp(startDate.getTime()));            Timestamp realDueDate = null;            if (dueDate != null) {                realDueDate = new Timestamp(dueDate.getTime());            }            valueMap.put("dueDate", realDueDate);            valueMap.put("finishDate", null);            valueMap.put("status", status);            GenericValue gv = gd.create("OSCurrentStep", valueMap);            ArrayList storeList = new ArrayList();            storeList.add(gv);            if (previousIds != null) {                if (!((previousIds.length == 1) && (previousIds[0] == 0))) {                    for (int i = 0; i < previousIds.length; i++) {                        long previousId = previousIds[i];                        GenericValue prevGv = gd.create("OSCurrentStepPrev", UtilMisc.toMap("id", id, "previousId", new Long(previousId)));                        storeList.add(prevGv);                    }                }            }            gd.storeAll(storeList);            return new SimpleStep(id.longValue(), entryId, stepId, 0, owner, startDate, dueDate, null, status, previousIds, null);        } catch (GenericEntityException e) {            throw new StoreException("Could not create new current step for #" + entryId, e);        }    }    public WorkflowEntry createEntry(String workflowName) throws StoreException {        try {            Long id = gd.getNextSeqId("OSWorkflowEntry");            GenericValue gv = gd.create("OSWorkflowEntry", UtilMisc.toMap("id", id, "name", workflowName, "state", new Integer(WorkflowEntry.CREATED)));            gd.storeAll(UtilMisc.toList(gv));            return new SimpleWorkflowEntry(id.longValue(), workflowName, WorkflowEntry.CREATED);        } catch (GenericEntityException e) {            throw new StoreException("Could not create workflow instance", e);        }    }    public List findCurrentSteps(long entryId) throws StoreException {        try {            Collection c = gd.findByAnd("OSCurrentStep", UtilMisc.toMap("entryId", new Long(entryId)));            ArrayList list = new ArrayList();            for (Iterator iterator = c.iterator(); iterator.hasNext();) {                GenericValue gv = (GenericValue) iterator.next();                long id = gv.getLong("id").longValue();                int stepId = gv.getInteger("stepId").intValue();                int actionId = gv.getInteger("actionId").intValue();                String owner = gv.getString("owner");                Timestamp startDate = gv.getTimestamp("startDate");                Timestamp dueDate = gv.getTimestamp("dueDate");                Timestamp finishDate = gv.getTimestamp("finishDate");                String status = gv.getString("status");                String caller = gv.getString("caller");                Collection prevGvs = gd.findByAnd("OSCurrentStepPrev", UtilMisc.toMap("id", new Long(id)));                long[] prevIds = new long[prevGvs.size()];                int i = 0;                for (Iterator iterator2 = prevGvs.iterator();                        iterator2.hasNext();) {                    GenericValue prevGv = (GenericValue) iterator2.next();                    prevIds[i] = prevGv.getLong("previousId").longValue();                    i++;                }                SimpleStep step = new SimpleStep(id, entryId, stepId, actionId, owner, startDate, dueDate, finishDate, status, prevIds, caller);                list.add(step);            }            return list;        } catch (GenericEntityException e) {            throw new StoreException("Could not find current steps for #" + entryId, e);        }    }    public WorkflowEntry findEntry(long entryId) throws StoreException {        try {            GenericValue gv = gd.findByPrimaryKey("OSWorkflowEntry", UtilMisc.toMap("id", new Long(entryId)));            String workflowName = gv.getString("name");            return new SimpleWorkflowEntry(entryId, workflowName, gv.getInteger("state").intValue());        } catch (GenericEntityException e) {            throw new StoreException("Could not find workflow instance #" + entryId, e);        }    }    public List findHistorySteps(long entryId) throws StoreException {        try {            Collection c = gd.findByAnd("OSHistoryStep", UtilMisc.toMap("entryId", new Long(entryId)), UtilMisc.toList("id DESC"));            ArrayList list = new ArrayList();            for (Iterator iterator = c.iterator(); iterator.hasNext();) {                GenericValue gv = (GenericValue) iterator.next();                long id = gv.getLong("id").longValue();                int stepId = gv.getInteger("stepId").intValue();                int actionId = gv.getInteger("actionId").intValue();                String owner = gv.getString("owner");                Timestamp startDate = gv.getTimestamp("startDate");                Timestamp dueDate = gv.getTimestamp("dueDate");                Timestamp finishDate = gv.getTimestamp("finishDate");                String status = gv.getString("status");                String caller = gv.getString("caller");                Collection prevGvs = gd.findByAnd("OSHistoryStepPrev", UtilMisc.toMap("id", new Long(id)));                long[] prevIds = new long[prevGvs.size()];                int i = 0;                for (Iterator iterator2 = prevGvs.iterator();                        iterator2.hasNext();) {                    GenericValue prevGv = (GenericValue) iterator2.next();                    prevIds[i] = prevGv.getLong("previousId").longValue();                    i++;                }                SimpleStep step = new SimpleStep(id, entryId, stepId, actionId, owner, startDate, dueDate, finishDate, status, prevIds, caller);                list.add(step);            }            return list;        } catch (GenericEntityException e) {            throw new StoreException("Could not find history steps for #" + entryId, e);        }    }    public void init(Map props) throws StoreException {        delegatorName = (String) props.get("delegator");        if (delegatorName == null) {            delegatorName = "default";        }        try {            gd = GenericDelegator.getGenericDelegator(delegatorName);        } catch (Exception t) {            throw new StoreException("Error getting GenericDelegator", t);        }    }    public Step markFinished(Step step, int actionId, Date finishDate, String status, String caller) throws StoreException {        try {            GenericValue gv = gd.findByPrimaryKey("OSCurrentStep", UtilMisc.toMap("id", new Long(step.getId())));            gv.set("actionId", new Integer(actionId));            gv.set("finishDate", new Timestamp(finishDate.getTime()));            gv.set("status", status);            gv.set("caller", caller);            gd.store(gv);            SimpleStep theStep = (SimpleStep) step;            theStep.setStatus(status);            theStep.setFinishDate(finishDate);            theStep.setActionId(actionId);            theStep.setCaller(caller);            return theStep;        } catch (GenericEntityException e) {            throw new StoreException("Error marking step #" + step.getId() + " finished", e);        }    }    public void moveToHistory(Step step) throws StoreException {        try {            Long id = new Long(step.getId());            gd.removeByAnd("OSCurrentStep", UtilMisc.toMap("id", id));            HashMap valueMap = new HashMap();            valueMap.put("id", id);            valueMap.put("entryId", new Long(step.getEntryId()));            valueMap.put("actionId", new Integer(step.getActionId()));            valueMap.put("stepId", new Integer(step.getStepId()));            valueMap.put("owner", step.getOwner());            valueMap.put("startDate", new Timestamp(step.getStartDate().getTime()));            Timestamp realDueDate = null;            if (step.getDueDate() != null) {                realDueDate = new Timestamp(step.getDueDate().getTime());            }            valueMap.put("dueDate", realDueDate);            if (step.getFinishDate() != null) {                valueMap.put("finishDate", new Timestamp(step.getFinishDate().getTime()));            }            valueMap.put("status", step.getStatus());            valueMap.put("caller", step.getCaller());            GenericValue gv = gd.create("OSHistoryStep", valueMap);            ArrayList storeList = new ArrayList();            storeList.add(gv);            long[] previousIds = step.getPreviousStepIds();            if (previousIds != null) {                for (int i = 0; i < previousIds.length; i++) {                    long previousId = previousIds[i];                    GenericValue prevGv = gd.create("OSHistoryStepPrev", UtilMisc.toMap("id", id, "previousId", new Long(previousId)));                    storeList.add(prevGv);                }            }            gd.storeAll(storeList);        } catch (GenericEntityException e) {            throw new StoreException("Could not move to history step for #" + step.getEntryId(), e);        }    }    public List query(WorkflowExpressionQuery query) throws StoreException {        throw new QueryNotSupportedException("Ofbiz Store does not support queries");    }    public List query(WorkflowQuery query) throws StoreException {        throw new QueryNotSupportedException("Ofbiz Store does not support queries");    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品在线视频一区| 久久97超碰国产精品超碰| 中文字幕 久热精品 视频在线 | 欧美一区二区三区日韩| 91久久精品一区二区三| 91成人网在线| 欧美日韩中文字幕一区二区| 色婷婷综合五月| 欧美亚洲日本一区| 欧美一级理论性理论a| 欧美一级午夜免费电影| 亚洲精品在线免费播放| 久久精品水蜜桃av综合天堂| 欧美高清在线一区二区| 亚洲人123区| 男女性色大片免费观看一区二区| 美日韩一区二区| 成人一区二区在线观看| 色老综合老女人久久久| 91精品国产福利| 五月婷婷久久丁香| 免费观看在线色综合| 亚洲午夜三级在线| 亚洲v日本v欧美v久久精品| 国产风韵犹存在线视精品| 精品中文字幕一区二区小辣椒| 国产成人免费视频| 色婷婷激情综合| 一区二区三区免费观看| 色先锋aa成人| 亚洲一线二线三线视频| 欧美在线观看视频一区二区| 亚洲欧美日韩国产综合| 色香色香欲天天天影视综合网| 亚洲精品欧美专区| 欧美在线短视频| 日韩中文字幕91| 欧美va在线播放| 国产精品一区二区免费不卡| 欧美国产日韩亚洲一区| 97se亚洲国产综合自在线不卡| 亚洲精品一二三四区| 欧美日韩一区三区四区| 日本成人中文字幕在线视频| 精品国产一区二区三区久久久蜜月 | 亚洲一区免费在线观看| 欧美日韩美少妇| 日本三级亚洲精品| 久久九九全国免费| 91丝袜美女网| 日本亚洲电影天堂| 久久免费精品国产久精品久久久久| 精品一二三四区| 亚洲欧洲日韩av| 欧美精品一二三四| 国产成人在线视频免费播放| 亚洲人成网站影音先锋播放| 欧美日韩电影在线| 国产精品亚洲成人| 亚洲图片欧美视频| 精品国产第一区二区三区观看体验| 国产91丝袜在线18| 午夜精品一区在线观看| 久久综合精品国产一区二区三区| 99久久精品国产一区二区三区| 天堂va蜜桃一区二区三区漫画版 | 狠狠久久亚洲欧美| 日韩理论电影院| 欧美电影精品一区二区| 成人18视频日本| 蜜臂av日日欢夜夜爽一区| 欧美韩日一区二区三区四区| 欧美视频精品在线| 成人美女在线视频| 久热成人在线视频| 一区二区三区欧美视频| 久久先锋资源网| 欧美喷潮久久久xxxxx| 国产.欧美.日韩| 秋霞电影一区二区| 亚洲一区在线观看免费观看电影高清 | 欧美日韩亚洲综合一区 | 欧美亚洲动漫精品| 不卡的av网站| 精品无码三级在线观看视频| 亚洲成人激情社区| 亚洲精品成人悠悠色影视| 国产午夜精品久久| 精品剧情v国产在线观看在线| 91极品视觉盛宴| 99国产欧美久久久精品| 国产成人三级在线观看| 久久99精品国产| 玖玖九九国产精品| 日韩黄色一级片| 午夜电影网一区| 亚洲国产精品一区二区久久| 亚洲猫色日本管| 中文字幕一区二区三区四区 | 亚洲国产精品欧美一二99| 国产精品伦一区| 国产精品毛片久久久久久| 日本一区二区三区四区| 久久久国产精品午夜一区ai换脸 | 欧美一区二区免费观在线| 色综合激情五月| 色综合天天综合在线视频| 不卡免费追剧大全电视剧网站| 国产在线播放一区三区四| 国产曰批免费观看久久久| 精品一区二区影视| 国产一区二三区好的| 国产一区久久久| 国产v日产∨综合v精品视频| 国产成人自拍高清视频在线免费播放| 精品一二三四区| 国产成a人无v码亚洲福利| 成人视屏免费看| 99re在线视频这里只有精品| 色呦呦国产精品| 在线不卡一区二区| 日韩视频免费观看高清完整版 | 亚洲网友自拍偷拍| 香蕉久久一区二区不卡无毒影院 | 成人av小说网| 色激情天天射综合网| 欧美裸体一区二区三区| 日韩一区二区麻豆国产| 久久综合九色欧美综合狠狠| 国产精品久久久久久久久久久免费看| 自拍av一区二区三区| 亚洲一区在线播放| 久久99精品网久久| 99久久免费精品| 欧美人xxxx| 国产婷婷色一区二区三区在线| 国产精品久久久久久户外露出 | 久久精品99国产国产精| 国产一区在线看| 91捆绑美女网站| 337p亚洲精品色噜噜| 国产亚洲一二三区| 亚洲欧美日韩电影| 青娱乐精品视频| 99久久综合精品| 日韩一区二区三区在线观看 | 久久久91精品国产一区二区精品| 国产精品大尺度| 免费精品视频在线| jlzzjlzz国产精品久久| 欧美一区二区三区精品| 一区在线观看免费| 美女视频黄 久久| 在线精品视频一区二区| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | 中文字幕永久在线不卡| 亚洲成人av一区二区三区| 国产精品 欧美精品| 欧美日韩一区二区欧美激情| 中文字幕免费观看一区| 青椒成人免费视频| 欧洲视频一区二区| 中文一区二区在线观看| 秋霞国产午夜精品免费视频 | 成人va在线观看| 欧美v亚洲v综合ⅴ国产v| 一区二区三区影院| 福利电影一区二区| 欧美www视频| 日本亚洲免费观看| 欧美三级资源在线| 一区二区三区资源| 91丝袜美腿高跟国产极品老师 | 国产欧美日韩亚州综合 | 日韩成人伦理电影在线观看| 99在线精品免费| 欧美国产日韩亚洲一区| 久久电影网电视剧免费观看| 欧美日韩中字一区| 亚洲一区日韩精品中文字幕| av午夜精品一区二区三区| 国产人久久人人人人爽| 极品美女销魂一区二区三区免费| 欧美日韩一本到| 亚洲制服欧美中文字幕中文字幕| 99久久亚洲一区二区三区青草| 国产视频视频一区| 国产大片一区二区| 久久久国产午夜精品| 国产精品亚洲人在线观看| 久久久久久久久久久久久夜| 国内成人免费视频| 久久亚洲综合色| 国产麻豆9l精品三级站| 国产清纯在线一区二区www| 国产精品77777竹菊影视小说| 日韩精品一区国产麻豆| 国精品**一区二区三区在线蜜桃| 精品国内片67194| 国产精品99久久久久久宅男|