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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? sqlworkitemstore.java

?? 日常的辦公系統(tǒng) 應(yīng)用工作流框架等增加員工的基本信息、培訓(xùn)信息、獎罰信息、薪資信息
?? JAVA
字號:
/* * Copyright (c) 2005, John Mettraux, OpenWFE.org * All rights reserved. *  * Redistribution and use in source and binary forms, with or without  * modification, are permitted provided that the following conditions are met: *  * . Redistributions of source code must retain the above copyright notice, this *   list of conditions and the following disclaimer.   *  * . Redistributions in binary form must reproduce the above copyright notice,  *   this list of conditions and the following disclaimer in the documentation  *   and/or other materials provided with the distribution. *  * . Neither the name of the "OpenWFE" nor the names of its contributors may be *   used to endorse or promote products derived from this software without *   specific prior written permission. *  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE  * POSSIBILITY OF SUCH DAMAGE. * * $Id: SqlWorkItemStore.java,v 1.24 2005/05/17 16:41:05 jmettraux Exp $ *///// SqlWorkItemStore.java//// john.mettraux@openwfe.org//// generated with // jtmpl 1.1.01 2004/05/19 (john.mettraux@openwfe.org)//package openwfe.org.worklist.impl.swis;import javax.security.auth.Subject;import openwfe.org.MapUtils;import openwfe.org.Application;import openwfe.org.ServiceException;import openwfe.org.ApplicationContext;import openwfe.org.xml.XmlUtils;import openwfe.org.sql.SqlUtils;import openwfe.org.sql.ds.OwfeDataSource;import openwfe.org.time.Time;import openwfe.org.engine.workitem.InFlowWorkItem;import openwfe.org.engine.workitem.CodingException;import openwfe.org.engine.expressions.FlowExpressionId;import openwfe.org.worklist.store.StoreException;import openwfe.org.worklist.impl.AbstractWorkItemStore;/** * Storing workitems in a RDBMS with vanilla SQL. * * <p><font size=2>CVS Info : * <br>$Author: jmettraux $ * <br>$Id: SqlWorkItemStore.java,v 1.24 2005/05/17 16:41:05 jmettraux Exp $ </font> * * @author john.mettraux@openwfe.org */public class SqlWorkItemStore    extends AbstractWorkItemStore{    private final static org.apache.log4j.Logger log = org.apache.log4j.Logger        .getLogger(SqlWorkItemStore.class.getName());    //    // CONSTANTS & co    /**     * Use this service param key to set at which rate the 'action' table     * should be polled     */    public final static String P_ACTION_FREQUENCY        = "actionFrequency";    private final static String DEFAULT_ACTION_FREQUENCY         = "2m";    /**     * Use this parameter name to tell the store which ActionDaemon     * it should instantiate and run, if you don't set it, BasicActionDaemon     * will be used by default.     */    public final static String P_ACTION_DAEMON_CLASSNAME        = "actionDaemonClass";    //    // FIELDS    /**     * The daemon that polls the db action table to determine if there     * is something to do with a workitem (proceed, cancel, ...)     */    protected ActionDaemon actionDaemon = null;    //    // CONSTRUCTORS    public void init         (final String serviceName,          final ApplicationContext context,          final java.util.Map serviceParams)    throws         ServiceException    {        super.init(serviceName, context, serviceParams);        initActionDaemon();    }    //    // METHODS from WorkItemStore    /**     * Returns the workitem belonging to a certain workflow instance     * (overrides method in AbstractWorkItemStore)     */    public java.util.List findFlowInstance        (final Subject s,         final long workflowInstanceId)    throws         StoreException    {        OwfeDataSource ds = null;        try        {            ds = SqlUtils.lookupDataSource                (getContext(),                 getParams());            return SqlWorkItemCoder.findFlowInstance                (ds, workflowInstanceId);        }        catch (Exception e)        {            throw new StoreException                ("Failure", e);        }        finally        {            ds.releaseConnection();        }    }    //    // METHODS from AbstractWorkItemStore    protected void storeWorkItem (final InFlowWorkItem wi)        throws StoreException    {        log.debug("storeWorkItem() "+wi.getLastExpressionId());        try        {            getCoder().encode                (wi, getContext(), getParams());        }        catch (CodingException ce)        {            throw new StoreException                ("Failed to store workitem", ce);        }    }    /**     * This method is public for the SqlWorkItemStore : so that ActionDaemons     * implemented by third parties may access it.     */    public void removeWorkItem (final FlowExpressionId fei)        throws StoreException    {        try        {            SqlWorkItemCoder.removeWorkItem                (fei, getContext(), getParams());        }        catch (Exception e)        {            throw new StoreException                ("Failed to remove workitem", e);        }    }    protected InFlowWorkItem retrieveWorkItem         (final Subject s, final FlowExpressionId fei)    throws         StoreException    {        try        {            return (InFlowWorkItem)getCoder()                .decode(fei, getContext(), getParams());        }        catch (CodingException ce)        {            throw new StoreException                ("Failed to retrieve workitem "+fei, ce);        }    }    protected int doCountWorkItems (final Subject s)        throws StoreException    {        OwfeDataSource ds = null;        try        {            ds = SqlUtils.lookupDataSource                (getContext(),                 getParams());            return SqlWorkItemCoder.countWorkItems(ds);        }        catch (Exception e)        {            throw new StoreException                ("Failed to count workitems in store", e);        }        finally        {            ds.releaseConnection();        }    }    protected java.util.List listWorkItems (final Subject s, int limit)        throws StoreException    {        log.debug("listWorkItems()");        // 2 step process :        //         // 1) gather flowExpressionIds        // 2) get workitems        //        // but this could really get optimized.        // (but it's not 'swis' primary concern)                OwfeDataSource ds = null;        try        {            //            // gather flowExpressionIds            ds = SqlUtils.lookupDataSource                (getContext(),                 getParams());            log.debug("listWorkItems() got datasource");            final java.util.List feis = SqlWorkItemCoder                .determineFlowExpressionIds(ds.getConnection(), -1, -1, limit);            log.debug("listWorkItems() determined flowExpressionIds");            //            // get workitems            final java.util.List result = new java.util.ArrayList(feis.size());            final java.util.Iterator it = feis.iterator();            while (it.hasNext())            {                final FlowExpressionId fei = (FlowExpressionId)it.next();                result.add(getCoder().decode                    (fei, getContext(), getParams()));            }            return result;        }        catch (Exception e)        {            log.warn                ("Failed to list workitems in "+getName(), e);            throw new StoreException                ("Failed to list workitems in "+getName(), e);        }        finally        {            ds.releaseConnection();        }    }    //    // METHODS from Service    /**     * Status is outputted as a JDOM element. The status is various     * information about a service activities and state.     */    public org.jdom.Element getStatus ()    {        org.jdom.Element result = new org.jdom.Element(getName());        result.addContent(XmlUtils.getClassElt(this));        result.addContent(XmlUtils.getRevisionElt("$Id: SqlWorkItemStore.java,v 1.24 2005/05/17 16:41:05 jmettraux Exp $"));        return result;    }    /**     * Stops this service and takes care of cancelling the actionDaemon.     */    public void stop ()        throws ServiceException    {        this.actionDaemon.cancel();        log.info("actionDaemon stopped.");        super.stop();    }    //    // METHODS    /**     * The ActionDaemon wakes from time to time to check the action table     * in the database, if an order is found there for a given workitem (id),     * that order is executed by the daemon.     * Of course, you can provide your own ActionDaemon implementation.     */    protected void initActionDaemon ()        throws ServiceException    {        final String sActionFreq = MapUtils.getAsString            (getParams(), P_ACTION_FREQUENCY, DEFAULT_ACTION_FREQUENCY);        final long actionFreq =             Time.parseTimeString(sActionFreq);        final String actionDaemonClassName = MapUtils.getAsString            (getParams(),              P_ACTION_DAEMON_CLASSNAME,              BasicActionDaemon.class.getName());        try        {            this.actionDaemon = ActionDaemon.initActionDaemon                (actionDaemonClassName,                 getContext(),                 getParams(),                 getName());        }        catch (Exception e)        {            throw new ServiceException                ("Failed to init and schedule ActionDaemon of class '"+                 actionDaemonClassName+"'", e);        }        Application.getTimer().schedule            (this.actionDaemon, 05, actionFreq);        log.info("initActionDaemon() will wake up every "+sActionFreq);    }    //    // STATIC METHODS}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产日韩欧美麻豆| 91黄视频在线| 精品国产乱码久久久久久影片| 一区二区三区免费在线观看| 99re这里只有精品6| 国产精品国模大尺度视频| 国产98色在线|日韩| 欧美无人高清视频在线观看| 亚洲精品视频自拍| voyeur盗摄精品| 亚洲一区二区三区四区不卡| 9191久久久久久久久久久| 久久er99精品| 自拍偷拍亚洲综合| 欧美高清一级片在线| 九色|91porny| 1区2区3区精品视频| 欧美日韩成人一区二区| 精品一区二区国语对白| 国产精品国产三级国产有无不卡| 欧洲一区二区三区免费视频| 久草在线在线精品观看| 国产欧美日韩激情| 欧美日韩国产成人在线91| 国产原创一区二区| 亚洲猫色日本管| 亚洲精品在线观看视频| 色综合中文综合网| 国产91精品欧美| 亚洲精品久久7777| 欧美成人a视频| 色综合久久久久综合体桃花网| 日韩精品1区2区3区| 国产日韩欧美a| 欧美另类videos死尸| 国产福利不卡视频| 亚洲成在线观看| 国产日韩欧美精品在线| 67194成人在线观看| jiyouzz国产精品久久| 久久精品99国产国产精| 亚洲精品国产一区二区精华液 | 欧美日韩国产天堂| 成人午夜电影小说| 麻豆久久一区二区| 亚洲国产综合在线| 久久综合丝袜日本网| 在线播放一区二区三区| 97精品电影院| 丰满岳乱妇一区二区三区| 免费高清视频精品| 亚洲国产精品久久不卡毛片 | 六月丁香婷婷色狠狠久久| 亚洲精品国产a久久久久久| 久久久久久影视| 精品国产成人系列| 欧美一区二区在线不卡| 欧美性猛交xxxxxx富婆| 91香蕉国产在线观看软件| 国产精品538一区二区在线| 蜜桃av噜噜一区| 偷拍日韩校园综合在线| 亚洲国产欧美一区二区三区丁香婷| 国产精品欧美一区二区三区| 久久免费视频一区| 欧美大片在线观看一区| 欧美日韩不卡一区| 欧美日韩国产精选| 欧美日韩久久不卡| 欧美日韩高清不卡| 欧美精品少妇一区二区三区| 欧美日韩免费在线视频| 欧美日韩免费高清一区色橹橹 | 99精品热视频| 99久久婷婷国产综合精品电影| 国产91高潮流白浆在线麻豆| 丁香啪啪综合成人亚洲小说 | 一区二区欧美国产| 亚洲综合另类小说| 亚洲高清免费观看 | 精品人在线二区三区| 26uuu精品一区二区| 久久人人爽爽爽人久久久| 久久婷婷国产综合国色天香| 国产亚洲短视频| 国产精品美女一区二区三区 | 亚洲第一成年网| 日日噜噜夜夜狠狠视频欧美人| 亚洲va欧美va人人爽| 午夜日韩在线观看| 美女视频黄 久久| 国产一区在线不卡| hitomi一区二区三区精品| 色成年激情久久综合| 欧美视频中文一区二区三区在线观看| 在线观看一区二区精品视频| 欧美精品第一页| 精品99一区二区| 中文字幕一区在线| 亚洲成av人片| 国内精品写真在线观看| 成人永久免费视频| 欧美三电影在线| 精品嫩草影院久久| 18欧美亚洲精品| 日韩影视精彩在线| 国产成人综合网| 91久久香蕉国产日韩欧美9色| 欧美日本一区二区| 国产欧美一区二区精品忘忧草| 亚洲欧洲精品一区二区三区| 午夜视黄欧洲亚洲| 国产精品亚洲综合一区在线观看| 91小视频免费观看| 日韩欧美国产一区二区在线播放| 国产精品免费免费| 日日夜夜免费精品| 成人性生交大片免费看视频在线 | 精品国产人成亚洲区| 中文字幕一区三区| 麻豆一区二区99久久久久| 欧美日韩国产免费一区二区 | 欧美日韩一区二区三区在线看| www欧美成人18+| 亚洲一区二区在线视频| 国产一二精品视频| 欧美日韩极品在线观看一区| 中文字幕av一区二区三区高 | 国产河南妇女毛片精品久久久| 欧美性一级生活| 国产丝袜在线精品| 亚洲大片在线观看| 99riav久久精品riav| 久久影院视频免费| 亚洲成a人在线观看| aaa欧美大片| 国产色产综合产在线视频| 日韩制服丝袜先锋影音| 色老综合老女人久久久| 日本一区二区三区dvd视频在线| 日本成人超碰在线观看| 99久久精品国产观看| 久久精品一二三| 美女视频网站黄色亚洲| 欧美久久免费观看| 亚洲美女视频在线观看| 不卡的av电影| 久久精品一区四区| 国产在线播精品第三| 5月丁香婷婷综合| 亚洲综合色婷婷| 91毛片在线观看| 国产精品美日韩| 国产成人精品免费| 久久久久久99久久久精品网站| 视频精品一区二区| 欧美精品在线一区二区| 亚洲午夜三级在线| 色94色欧美sute亚洲线路二| 中文字幕亚洲一区二区va在线| 国产白丝精品91爽爽久久| 久久免费国产精品| 国产一区999| 久久久久久久久伊人| 国产一区二区三区免费观看| 精品福利一二区| 激情五月激情综合网| 久久九九久精品国产免费直播| 国模大尺度一区二区三区| 精品毛片乱码1区2区3区| 国模套图日韩精品一区二区| 欧美大片一区二区| 国产真实乱子伦精品视频| 精品国产乱码久久| 国产精品系列在线观看| 国产女同性恋一区二区| 岛国av在线一区| 国产精品色哟哟| 色综合久久中文字幕综合网| 一区二区三区蜜桃网| 7777精品伊人久久久大香线蕉的| 三级亚洲高清视频| 久久毛片高清国产| 99精品视频一区| 亚洲国产日韩a在线播放性色| 欧美高清www午色夜在线视频| 免费精品视频最新在线| 久久精品日产第一区二区三区高清版| 国产不卡高清在线观看视频| 亚洲人123区| 8v天堂国产在线一区二区| 韩国三级电影一区二区| 国产精品区一区二区三区| 欧美亚洲日本国产| 久久er精品视频| 国产精品理论在线观看| 欧美日本乱大交xxxxx| 国产一区二区三区久久悠悠色av | 国产亚洲精品精华液| 99国产精品国产精品毛片|