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

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

?? jdbcworkflowstore.java

?? 一個很好實用的工作流OSWORKFLOW開發例子.有著非常優秀的靈活性.
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
        closeConnWhenDone = true;        return ds.getConnection();    }    protected long getNextEntrySequence(Connection c) throws SQLException {        if (log.isDebugEnabled()) {            log.debug("Executing SQL statement: " + entrySequence);        }        PreparedStatement stmt = null;        ResultSet rset = null;        try {            stmt = c.prepareStatement(entrySequence);            rset = stmt.executeQuery();            rset.next();            long id = rset.getLong(1);            return id;        } finally {            cleanup(null, stmt, rset);        }    }    protected long getNextStepSequence(Connection c) throws SQLException {        if (log.isDebugEnabled()) {            log.debug("Executing SQL statement: " + stepSequence);        }        PreparedStatement stmt = null;        ResultSet rset = null;        try {            stmt = c.prepareStatement(stepSequence);            rset = stmt.executeQuery();            rset.next();            long id = rset.getLong(1);            return id;        } finally {            cleanup(null, stmt, rset);        }    }    protected void addPreviousSteps(Connection conn, long id, long[] previousIds) throws SQLException {        if ((previousIds != null) && (previousIds.length > 0)) {            if (!((previousIds.length == 1) && (previousIds[0] == 0))) {                String sql = "INSERT INTO " + currentPrevTable + " (" + stepId + ", " + stepPreviousId + ") VALUES (?, ?)";                log.debug("Executing SQL statement: " + sql);                PreparedStatement stmt = conn.prepareStatement(sql);                for (int i = 0; i < previousIds.length; i++) {                    long previousId = previousIds[i];                    stmt.setLong(1, id);                    stmt.setLong(2, previousId);                    stmt.executeUpdate();                }                cleanup(null, stmt, null);            }        }    }    protected void cleanup(Connection connection, Statement statement, ResultSet result) {        if (result != null) {            try {                result.close();            } catch (SQLException ex) {                log.error("Error closing resultset", ex);            }        }        if (statement != null) {            try {                statement.close();            } catch (SQLException ex) {                log.error("Error closing statement", ex);            }        }        if ((connection != null) && closeConnWhenDone) {            try {                connection.close();            } catch (SQLException ex) {                log.error("Error closing connection", ex);            }        }    }    protected long createCurrentStep(Connection conn, long entryId, int wfStepId, String owner, Date startDate, Date dueDate, String status) throws SQLException {        String sql = "INSERT INTO " + currentTable + " (" + stepId + ',' + stepEntryId + ", " + stepStepId + ", " + stepActionId + ", " + stepOwner + ", " + stepStartDate + ", " + stepDueDate + ", " + stepFinishDate + ", " + stepStatus + ", " + stepCaller + " ) VALUES (?, ?, ?, null, ?, ?, ?, null, ?, null)";        if (log.isDebugEnabled()) {            log.debug("Executing SQL statement: " + sql);        }        PreparedStatement stmt = conn.prepareStatement(sql);        long id = getNextStepSequence(conn);        stmt.setLong(1, id);        stmt.setLong(2, entryId);        stmt.setInt(3, wfStepId);        stmt.setString(4, owner);        stmt.setTimestamp(5, new Timestamp(startDate.getTime()));        if (dueDate != null) {            stmt.setTimestamp(6, new Timestamp(dueDate.getTime()));        } else {            stmt.setNull(6, Types.TIMESTAMP);        }        stmt.setString(7, status);        stmt.executeUpdate();        cleanup(null, stmt, null);        return id;    }    ////////////METHOD #3 OF 3 //////////////////    ////////// ...gur;  ////////////////////    //kardes    void doNestedNaturalJoin(WorkflowExpressionQuery e, NestedExpression nestedExpression, StringBuffer columns, StringBuffer where, StringBuffer whereComp, List values, List queries, StringBuffer orderBy) { // throws StoreException {        Object value;        int currentExpField;        int numberOfExp = nestedExpression.getExpressionCount();        for (int i = 0; i < numberOfExp; i++) { //ori            //for (i = numberOfExp; i > 0; i--) { //reverse 1 of 3            Expression expression = nestedExpression.getExpression(i); //ori            //Expression expression = nestedExpression.getExpression(i - 1); //reverse 2 of 3            if (!(expression.isNested())) {                FieldExpression fieldExp = (FieldExpression) expression;                FieldExpression fieldExpBeforeCurrent;                queries.add(expression);                int queryId = queries.size();                if (queryId > 1) {                    columns.append(" , ");                }                //do; OS_CURRENTSTEP AS a1 ....                if (fieldExp.getContext() == FieldExpression.CURRENT_STEPS) {                    columns.append(currentTable + " AS " + 'a' + queryId);                } else if (fieldExp.getContext() == FieldExpression.HISTORY_STEPS) {                    columns.append(historyTable + " AS " + 'a' + queryId);                } else {                    columns.append(entryTable + " AS " + 'a' + queryId);                }                ///////// beginning of WHERE JOINS/s :   //////////////////////////////////////////                //do for first query; a1.ENTRY_ID = a1.ENTRY_ID                if (queryId == 1) {                    where.append("a1" + '.' + stepEntryId);                    where.append(" = ");                    if (fieldExp.getContext() == FieldExpression.CURRENT_STEPS) {                        where.append("a" + queryId + '.' + stepEntryId);                    } else if (fieldExp.getContext() == FieldExpression.HISTORY_STEPS) {                        where.append("a" + queryId + '.' + stepEntryId);                    } else {                        where.append("a" + queryId + '.' + entryId);                    }                }                //do; a1.ENTRY_ID = a2.ENTRY_ID                if (queryId > 1) {                    fieldExpBeforeCurrent = (FieldExpression) queries.get(queryId - 2);                    if (fieldExpBeforeCurrent.getContext() == FieldExpression.CURRENT_STEPS) {                        where.append("a" + (queryId - 1) + '.' + stepEntryId);                    } else if (fieldExpBeforeCurrent.getContext() == FieldExpression.HISTORY_STEPS) {                        where.append("a" + (queryId - 1) + '.' + stepEntryId);                    } else {                        where.append("a" + (queryId - 1) + '.' + entryId);                    }                    where.append(" = ");                    if (fieldExp.getContext() == FieldExpression.CURRENT_STEPS) {                        where.append("a" + queryId + '.' + stepEntryId);                    } else if (fieldExp.getContext() == FieldExpression.HISTORY_STEPS) {                        where.append("a" + queryId + '.' + stepEntryId);                    } else {                        where.append("a" + queryId + '.' + entryId);                    }                }                ///////// end of LEFT JOIN : "LEFT JOIN OS_CURRENTSTEP a1  ON a0.ENTRY_ID = a1.ENTRY_ID                //                //////// BEGINNING OF WHERE clause //////////////////////////////////////////////////                value = fieldExp.getValue();                currentExpField = fieldExp.getField();                //if the Expression is negated and FieldExpression is "EQUALS", we need to negate that FieldExpression                if (expression.isNegate()) {                    //do ; a2.STATUS !=                    whereComp.append("a" + queryId + '.' + fieldName(fieldExp.getField()));                    switch (fieldExp.getOperator()) { //WHERE a1.STATUS !=                    case FieldExpression.EQUALS:                        if (value == null) {                            whereComp.append(" IS NOT ");                        } else {                            whereComp.append(" != ");                        }                        break;                    case FieldExpression.NOT_EQUALS:                        if (value == null) {                            whereComp.append(" IS ");                        } else {                            whereComp.append(" = ");                        }                        break;                    case FieldExpression.GT:                        whereComp.append(" < ");                        break;                    case FieldExpression.LT:                        whereComp.append(" > ");                        break;                    default:                        whereComp.append(" != ");                        break;                    }                    switch (currentExpField) {                    case FieldExpression.START_DATE:                    case FieldExpression.FINISH_DATE:                        values.add(new Timestamp(((java.util.Date) value).getTime()));                        break;                    default:                        if (value == null) {                            values.add(null);                        } else {                            values.add(value);                        }                        break;                    }                } else {                    //do; a1.OWNER =                    whereComp.append("a" + queryId + '.' + fieldName(fieldExp.getField()));                    switch (fieldExp.getOperator()) { //WHERE a2.FINISH_DATE <                    case FieldExpression.EQUALS:                        if (value == null) {                            whereComp.append(" IS ");                        } else {                            whereComp.append(" = ");                        }                        break;                    case FieldExpression.NOT_EQUALS:                        if (value == null) {                            whereComp.append(" IS NOT ");                        } else {                            whereComp.append(" <> ");                        }                        break;                    case FieldExpression.GT:                        whereComp.append(" > ");                        break;                    case FieldExpression.LT:                        whereComp.append(" < ");                        break;                    default:                        whereComp.append(" = ");                        break;                    }                    switch (currentExpField) {                    case FieldExpression.START_DATE:                    case FieldExpression.FINISH_DATE:                        values.add(new Timestamp(((java.util.Date) value).getTime()));                        break;                    default:                        if (value == null) {                            values.add(null);                        } else {                            values.add(value);                        }                        break;                    }                }                //do; a1.OWNER =  ?  ... a2.STATUS != ?                whereComp.append(" ? ");                //////// END OF WHERE clause////////////////////////////////////////////////////////////                if ((e.getSortOrder() != WorkflowExpressionQuery.SORT_NONE) && (e.getOrderBy() != 0)) {                    System.out.println("ORDER BY ; queries.size() : " + queries.size());                    orderBy.append(" ORDER BY ");                    orderBy.append("a1" + '.' + fieldName(e.getOrderBy()));                    if (e.getSortOrder() == WorkflowExpressionQuery.SORT_ASC) {                        orderBy.append(" ASC");                    } else if (e.getSortOrder() == WorkflowExpressionQuery.SORT_DESC) {                        orderBy.append(" DESC");                    }                }            } else {                NestedExpression nestedExp = (NestedExpression) expression;                where.append('(');                doNestedNaturalJoin(e, nestedExp, columns, where, whereComp, values, queries, orderBy);                where.append(')');            }            //add AND or OR clause between the queries            if (i < (numberOfExp - 1)) { //ori                //if (i > 1) { //reverse 3 of 3                if (nestedExpression.getExpressionOperator() == NestedExpression.AND) {                    where.append(" AND ");                    whereComp.append(" AND ");                } else {                    where.append(" OR ");                    whereComp.append(" OR ");                }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
狠狠色丁香久久婷婷综合丁香| 亚洲gay无套男同| 日韩欧美一二三四区| 欧美亚洲综合一区| 精品视频999| 日韩一区二区三区免费观看| 欧美一区二区成人| 日韩欧美三级在线| 久久久www成人免费无遮挡大片| 久久综合九色综合97婷婷女人| 久久婷婷综合激情| 国产日韩影视精品| 自拍偷拍亚洲欧美日韩| 一个色在线综合| 日本人妖一区二区| 国产乱码精品一区二区三区五月婷| 国产mv日韩mv欧美| 色综合欧美在线视频区| 欧美日韩一区 二区 三区 久久精品| 欧美日韩精品欧美日韩精品一综合| 欧美日韩在线一区二区| 欧美成人r级一区二区三区| 久久综合丝袜日本网| 国产精品三级av在线播放| 亚洲视频每日更新| 奇米精品一区二区三区四区| 国产精品99久久久久久宅男| 色婷婷久久久综合中文字幕| 欧美日韩综合在线免费观看| 337p粉嫩大胆噜噜噜噜噜91av | 久久一夜天堂av一区二区三区| 久久久青草青青国产亚洲免观| 国产精品乱人伦| 日本伊人色综合网| 国产乱码精品1区2区3区| 欧美在线你懂得| 国产欧美日韩综合| 一级日本不卡的影视| 免费看欧美美女黄的网站| 成+人+亚洲+综合天堂| 欧美丰满少妇xxxxx高潮对白| 国产欧美日韩精品一区| 日韩在线一区二区三区| av影院午夜一区| 日韩欧美自拍偷拍| 亚洲精品久久久久久国产精华液| 国内精品不卡在线| 欧美日韩一级二级三级| 欧美国产成人精品| 精品中文av资源站在线观看| 欧美日韩情趣电影| 亚洲乱码一区二区三区在线观看| 国产精品自拍av| 欧美一区二区三区在线视频| 亚洲精品成人精品456| 国产剧情一区二区| 欧美一区二区精品在线| 午夜视频在线观看一区二区| 97精品国产露脸对白| 久久久精品国产免费观看同学| 麻豆成人免费电影| 777色狠狠一区二区三区| 一区二区三区不卡视频| 91香蕉视频在线| 亚洲欧美怡红院| av资源站一区| 中文字幕+乱码+中文字幕一区| 国产一区二区三区香蕉 | 国产精品久久三| 成人一区二区视频| 国产偷v国产偷v亚洲高清| 国产在线精品一区二区三区不卡| 日韩一区二区三区视频在线| 午夜一区二区三区视频| 欧美日韩国产首页| 日产欧产美韩系列久久99| 欧美一区二区视频在线观看2020 | 色88888久久久久久影院按摩| 国产精品日韩精品欧美在线| 成人晚上爱看视频| 国产精品久久久久影院老司| 一本久久a久久精品亚洲| 自拍偷在线精品自拍偷无码专区| 一本高清dvd不卡在线观看| 亚洲精品免费播放| 欧美视频一区二区三区| 日韩有码一区二区三区| 337p粉嫩大胆色噜噜噜噜亚洲| 精品一区二区三区日韩| 久久夜色精品一区| 成人在线视频首页| 亚洲人一二三区| 欧美日韩一区精品| 久久99热99| 中文字幕视频一区二区三区久| 色综合色综合色综合| 午夜日韩在线电影| 久久久亚洲精品石原莉奈| 国产精品一区二区久激情瑜伽 | 久久国产尿小便嘘嘘尿| 国产人成亚洲第一网站在线播放| 99精品视频免费在线观看| 亚洲综合一区在线| 欧美成人官网二区| 99麻豆久久久国产精品免费优播| 午夜天堂影视香蕉久久| 久久精品网站免费观看| 欧美在线看片a免费观看| 免费观看在线色综合| 国产精品久久久久久久久动漫| 555夜色666亚洲国产免| 国产99精品国产| 日本91福利区| 国产精品久久久久婷婷| 欧美一区二区三区免费视频 | 日韩欧美黄色影院| 色综合久久久久综合体桃花网| 久久精品免费看| 一区二区欧美视频| 欧美变态tickling挠脚心| 色综合中文字幕| 国产夫妻精品视频| 偷拍一区二区三区| 最新热久久免费视频| 欧美成人激情免费网| 欧美三级中文字幕| 91蜜桃免费观看视频| 国产乱理伦片在线观看夜一区| 丝袜美腿一区二区三区| 国产精品国产三级国产aⅴ原创| 日韩精品一区国产麻豆| 欧美日韩在线电影| 99re热这里只有精品视频| 韩国欧美国产1区| 麻豆91免费看| 天天综合色天天| 亚洲成av人片| 亚洲大片精品永久免费| 一区二区三区中文在线观看| 成人免费视频在线观看| 久久精品一区四区| 久久久久成人黄色影片| 久久中文字幕电影| 久久人人超碰精品| 久久只精品国产| 久久精品亚洲精品国产欧美kt∨| 精品国产露脸精彩对白| 精品毛片乱码1区2区3区| 日韩视频在线一区二区| 欧美一区日本一区韩国一区| 制服丝袜中文字幕一区| 欧美日韩精品综合在线| 欧美剧在线免费观看网站| 精品婷婷伊人一区三区三| 欧美最新大片在线看| 欧美性受极品xxxx喷水| 欧美欧美欧美欧美首页| 7777女厕盗摄久久久| 日韩西西人体444www| 亚洲精品一线二线三线| 久久精品一区八戒影视| 欧美激情一区不卡| 亚洲免费观看在线视频| 一区二区免费视频| 男男gaygay亚洲| 国产91在线看| 91麻豆国产自产在线观看| 欧洲亚洲国产日韩| 日韩一区二区三区免费看| 久久久国产一区二区三区四区小说| 欧美国产精品劲爆| 亚洲永久免费av| 精品在线免费视频| 9人人澡人人爽人人精品| 91福利视频网站| 精品国产sm最大网站| 中文字幕精品一区二区精品绿巨人| 亚洲免费高清视频在线| 亚洲图片欧美综合| 精品亚洲国产成人av制服丝袜| 高清国产一区二区| 在线观看国产日韩| 欧美精品一区二区三区一线天视频| 国产精品免费视频一区| 亚洲一区在线视频| 国内外精品视频| 欧美性生活大片视频| 久久蜜臀精品av| 亚洲高清免费在线| 成人午夜视频在线观看| 欧美日韩亚洲国产综合| 久久久久国产精品人| 亚洲福中文字幕伊人影院| 国产精品一区在线观看你懂的| 欧美午夜电影网| 中文字幕国产一区| 免费成人在线视频观看| 99久久精品国产导航| 精品国产一区二区三区av性色| 一区二区三区不卡在线观看|