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

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

?? bpel2remarkpi.java

?? 這是我們參加06年全國開源軟件的競賽作品
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
        for (Node child = node.getFirstChild(); child != null; child = child
                .getNextSibling()) {

            int childType = activityMap.getType(child.getNodeName()
                    .toLowerCase());
            if (childType != 99 && childType != 11) {
                childsNum++; // 記錄該節點中所擁有的孩子的數目
                String rearName = output[childsNum];
                Agent tempAgent = new Agent(); // 對子節點生成一個新進程對象,保存該節點及其子孫的所有信息!
                tempAgent = ParseNode(child, tempAgent, rearName); // 對每個子節點生成一個進程對象,進行分析
                // 把子進程的自由名和邦定名傳入父進程
                agent.setFreeName((ArrayList) tempAgent.freeName);
                agent.setBoundName((ArrayList) tempAgent.boundName); // 這里會不會重復設置名字
                String tempStr = tempAgent.getAction(); // 對子節點的分析結果

                // 前置條件的處理!
                // 下面一段對那些曾經分裂引起前置條件變化的替換進行處理!將array1中已經替換的前置名用分裂后的名字替換!
                String previousName = input[childsNum];
                StringTokenizer tempStringTokenizer = new StringTokenizer(
                        previousName, "&");
                int tokenCount = tempStringTokenizer.countTokens();
                String transform = "";
                for (int j = 1; j <= tokenCount; j++) {
                    String strObject = tempStringTokenizer.nextToken();// 得到前置條件的一個名字
                    StringTokenizer tempStringTokenizer1 = new StringTokenizer(
                            strObject, "(");// 獲得前置條件某個名字的通道名
                    String chunnelName = tempStringTokenizer1.nextToken();
                    int location = array1.indexOf(chunnelName);
                    String tempObject = "";
                    if (location > -1)
                        tempObject = (String) array2.get(location);
                    if (!tempObject.equals("")) // 原來的名字已經由于子節點的分裂發生了變化
                        strObject = tempObject;
                    if (j < tokenCount)
                        transform += strObject + ".";
                    else
                        transform += strObject;
                }

                tempStr = redeem(transform) + tempStr;// 這里其實就是加上了前置條件

                if (!isLastValidNode(child))
                    str += tempStr + "|";
                else
                    str += tempStr;
            } // end if
        } // end for
        if (!afterInfo.equals("") || !sourceStr.equals("")) { // 在sequence
            // 中的出站鏈接和從父節點中傳遞的afterInfo可以看作一樣的內容處理!
            afterInfo = blackBox(afterInfo); // 將用"&"相連的名字變成用"."相連!
            // String tempStr = redeem(afterInfo) + reduce(sourceStr) + ".0" ;
            String tempStr = redeem(afterInfo);
            if (!sourceStr.equals(""))
                tempStr += reduce(sourceStr) + ".0";
            else
                tempStr += "0";
            str = modifyString(str, tempStr);
        }
        str = "(*start_sequence#" + sequenceStr + "#*)" + "("
                + redeem(targetStr) + "(" + str + ")" + ")" + "(*end_sequence#"
                + sequenceStr + "#*)";
        agent.setAction(str);

        return agent;
    }

    public Agent ParseWhile(Node node, Agent agent, String afterInfo) {
        // this method is according to the idea of SongYan
        whileTimes++;
        String whileStr = String.valueOf(whileTimes);
        String str = "";
        String sourceStr = "";
        String targetStr = "";

        for (Node child = node.getFirstChild(); child != null; child = child
                .getNextSibling()) {
            if (child.getNodeName().equalsIgnoreCase("source")) {
                sourceStr += ParseLinkSource(child, agent);
            }

            if (child.getNodeName().equalsIgnoreCase("target")) {
                targetStr += ParseLinkTarget(child, agent);

            }
        }
        Agent tempAgent = new Agent();
        tempAgent = ParseActivity(node, tempAgent, afterInfo);
        agent.setFreeName(tempAgent.freeName);
        agent.setBoundName(tempAgent.boundName);

        String tempStr = tempAgent.getAction();
        tempStr = "t." + tempStr;
        str += tempStr + "+ 0";

        str = "(" + reduce(targetStr) + "(" + "(*start_while#" + whileStr
                + "#*)" + str + "(*end_while#" + whileStr + "#*)" + ")" + ")";
        agent.setAction(str);
        return agent;
    }

    public Agent ParsePick(Node node, Agent agent, String afterInfo) {
        pickTimes++;
        String str = "";
        String partnerLinkValue = "";
        String portTypeValueTemp = "";
        String portTypeValue = "";
        String operationValue = "";
        String variableValue = "";
        int i = 0;

        String pickStr = String.valueOf(pickTimes);
        String sourceStr = "";
        String targetStr = "";

        for (Node child = node.getFirstChild(); child != null; child = child
                .getNextSibling()) {
            if (child.getNodeName().equalsIgnoreCase("source")) {
                sourceStr += ParseLinkSource(child, agent);
            }

            if (child.getNodeName().equalsIgnoreCase("target")) {
                targetStr += ParseLinkTarget(child, agent);

            }
        }

        for (Node child = node.getFirstChild(); child != null; child = child
                .getNextSibling()) {
            if (child.getNodeName().equalsIgnoreCase("onmessage")) {
                onMessageTimes++;
                NamedNodeMap attrs = node.getAttributes();
                Node partnerLink = getNamedItemIgnoreCase(attrs, "partnerLink");
                if (partnerLink != null) {
                    partnerLinkValue = ((Attr) partnerLink).getValue().trim()
                            .toLowerCase();
                }

                Node portType = getNamedItemIgnoreCase(attrs, "portType");
                if (portType != null) {
                    portTypeValueTemp = ((Attr) portType).getValue().trim()
                            .toLowerCase();
                }
                if (portTypeValueTemp != null && !portTypeValueTemp.equals("")) {
                    int index = portTypeValueTemp.indexOf(":");
                    portTypeValue = portTypeValueTemp.substring(index + 1);
                }

                Node operation = getNamedItemIgnoreCase(attrs, "operation");
                if (operation != null) {
                    operationValue = ((Attr) operation).getValue().trim()
                            .toLowerCase();
                }

                Node variable = getNamedItemIgnoreCase(attrs, "variable");
                if (variable != null) {
                    variableValue = ((Attr) variable).getValue().trim()
                            .toLowerCase();
                }
                String onMessageStr = String.valueOf(onMessageTimes);
                if (i == 0) {
                    str += "(*start_onMessage#" + onMessageStr + "#*)"
                            + partnerLinkValue + "$" + portTypeValue + "$"
                            + operationValue + "$" + variableValue + "("
                            + variableValue + ")" + "(*end_onMessage#"
                            + onMessageStr + "#*)" + ".";
                } else {
                    str += "+" + "(*start_onMessage#" + onMessageStr + "#*)"
                            + partnerLinkValue + "$" + portTypeValue + "$"
                            + operationValue + "$" + variableValue + "("
                            + variableValue + ")" + "(*end_onMessage#"
                            + onMessageStr + "#*)" + ".";
                }

                agent.setFreeName(partnerLinkValue + "$" + portTypeValue + "$"
                        + operationValue + "$" + variableValue);
                agent.setBoundName(variableValue); // 添加自由名和限制名

                Agent tempAgent = new Agent();
                String tempAfterInfo = afterInfo;
                if (!sourceStr.equals("")) {
                    StringTokenizer stringTokenizer = new StringTokenizer(
                            sourceStr, ".");
                    int tokenCount = stringTokenizer.countTokens();
                    for (int k = 0; k < tokenCount; k++) {
                        String temp = stringTokenizer.nextToken();
                        tempAfterInfo += "&" + temp;
                    }
                }
                tempAgent = ParseActivity(child, tempAgent, tempAfterInfo);

                agent.setFreeName(tempAgent.freeName);
                agent.setBoundName(tempAgent.boundName);

                String tempStr = tempAgent.getAction();
                str = redeem(str);
                str += tempStr;
                i++;
            }

            if (child.getNodeName().equalsIgnoreCase("onAlarm")) {
                str += "+t.";
                onAlarmTimes++;
                Agent tempAgent = new Agent();
                if (!sourceStr.equals("")) {
                    StringTokenizer stringTokenizer = new StringTokenizer(
                            sourceStr, ".");
                    int tokenCount = stringTokenizer.countTokens();
                    for (int k = 0; k < tokenCount; k++) {
                        String temp = stringTokenizer.nextToken();
                        afterInfo += "&" + temp;
                    }
                }
                tempAgent = ParseActivity(child, tempAgent, afterInfo);
                agent.setFreeName(tempAgent.freeName);
                agent.setBoundName(tempAgent.boundName);

                String tempStr = tempAgent.getAction();
                str = redeem(str);
                String onAlarmStr = String.valueOf(onAlarmTimes);
                str += "(*start_onAlarm#" + onAlarmStr + "#*)" + tempStr
                        + "(*end_onAlarm#" + onAlarmStr + "#*)";

            }
        }

        if (!targetStr.equals(""))
            str += redeem(targetStr) + str;

        str = "(*start_pick#" + pickStr + "#*)" + "(" + redeem(targetStr) + "("
                + str + ")" + ")" + "(*end_pick#" + pickStr + "#*)";
        agent.setAction(str);
        return agent;
    }

    public Agent ParseSwitch(Node node, Agent agent, String afterInfo) {

        switchTimes++;
        String switchStr = String.valueOf(switchTimes);

        String sourceStr = "";
        String targetStr = "";

        for (Node child = node.getFirstChild(); child != null; child = child
                .getNextSibling()) {
            if (child.getNodeName().equalsIgnoreCase("source")) {
                sourceStr += ParseLinkSource(child, agent);
            }

            if (child.getNodeName().equalsIgnoreCase("target")) {
                targetStr += ParseLinkTarget(child, agent);

            }
        }

        String str = "";
        int childsNum = getContrutorChildsNum(node);
        int i = 0;
        int caseTimes = 0;

        for (Node child = node.getFirstChild(); child != null; child = child
                .getNextSibling()) {
            String activity = "";
            if (child.getNodeName().equalsIgnoreCase("case")
                    || child.getNodeName().equalsIgnoreCase("otherwise")) {

                i++;
                String tempAfterInfo = afterInfo;
                Agent tempAgent = new Agent();
                if (!sourceStr.equals("")) {
                    StringTokenizer stringTokenizer = new StringTokenizer(
                            sourceStr, ".");
                    int tokenCount = stringTokenizer.countTokens();
                    for (int k = 0; k < tokenCount; k++) {
                        String temp = stringTokenizer.nextToken();
                        tempAfterInfo += "&" + temp;
                    }
                }

                tempAgent = ParseActivity(child, tempAgent, tempAfterInfo);
                agent.setFreeName(tempAgent.freeName);
                agent.setBoundName(tempAgent.boundName);
                activity = tempAgent.getAction();

                String conditionRemark = "";

                if (child.getNodeName().equalsIgnoreCase("case")) {
                    caseTimes++;
                    String caseStr = String.valueOf(caseTimes);
                    NamedNodeMap attrs = child.getAttributes();
                    Node linkNameNode = getNamedItemIgnoreCase(attrs,
                            "condition");
                    String linkName = ((Attr) linkNameNode).getValue().trim()
                            .toLowerCase();
                    conditionRemark = "(*condition = " + "\"" + linkName + "\""
                            + "*)";
                    if (i < childsNum)
                        str += "(*start_case#" + caseStr + "#*)"
                                + conditionRemark + activity + "(*end_case#"
                                + caseStr + "#*)" + " + ";
                    else
                        str += "(*start_case#" + caseStr + "#*)"
                                + conditionRemark + activity + "(*end_case#"
                                + caseStr + "#*)";
                } else {
                    otherwiseTimes++;
                    String otherwiseStr = String.valueOf(otherwiseTimes);
                    if (i < childsNum)
                        str += "(*start_otherwise#" + otherwiseStr + "#*)"
                                + conditionRemark + activity
                                + "(*end_otherwise#" + otherwiseStr + "#*)"
                                + " + ";
                    else
                        str += "(*start_otherwise#" + otherwiseStr + "#*)"
                                + conditionRemark + activity
                                + "(*end_otherwise#" + otherwiseStr + "#*)";
                }

            }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品一区二区三区不卡| 日韩av午夜在线观看| 亚洲妇女屁股眼交7| 99精品久久久久久| 欧美精品亚洲一区二区在线播放| 国产香蕉久久精品综合网| 亚洲aaa精品| 91色.com| 中文字幕巨乱亚洲| 精品制服美女久久| 欧美视频一区二区三区在线观看| 欧美国产日韩在线观看| 免费观看成人av| 欧美日韩视频在线观看一区二区三区| 久久久欧美精品sm网站| 免费人成精品欧美精品 | 一本高清dvd不卡在线观看| 日韩欧美国产午夜精品| 五月天中文字幕一区二区| 91麻豆精品秘密| 国产精品久久久久久久第一福利 | 亚洲国产一区二区在线播放| 成人av在线播放网址| 久久午夜国产精品| 国产综合久久久久影院| 91精品国产综合久久国产大片 | 日韩国产高清在线| 欧美日韩亚洲综合一区二区三区| 亚洲天堂免费在线观看视频| 不卡的av网站| 亚洲欧美区自拍先锋| 99久久精品免费看| 亚洲视频图片小说| 91国在线观看| 亚洲国产综合在线| 日韩一区二区三免费高清| 性做久久久久久免费观看| 欧美日韩国产小视频| 视频在线观看91| 欧美一区二区三区人| 秋霞影院一区二区| 日韩欧美视频一区| 麻豆成人久久精品二区三区小说| 欧美不卡一区二区三区四区| 激情五月婷婷综合网| 国产亚洲精品超碰| 99热在这里有精品免费| 亚洲男人的天堂在线aⅴ视频| 91蜜桃婷婷狠狠久久综合9色| 亚洲最新在线观看| 欧美日韩高清影院| 成人av在线电影| 最新不卡av在线| 欧美怡红院视频| 久久99国产精品免费网站| 久久久久国产免费免费| 99在线精品免费| 亚洲成av人片在线| 久久亚洲捆绑美女| 成人av在线一区二区三区| 亚洲综合成人网| 精品国产3级a| 91亚洲国产成人精品一区二区三| 亚洲午夜精品网| 精品欧美乱码久久久久久| 成人午夜免费电影| 亚洲v中文字幕| 久久九九99视频| 欧美无乱码久久久免费午夜一区 | 91香蕉视频污| 秋霞午夜av一区二区三区| 国产婷婷色一区二区三区| 色婷婷久久久亚洲一区二区三区| 免费在线一区观看| 亚洲免费观看高清完整 | 欧美人体做爰大胆视频| 国内国产精品久久| 一区二区三区精品| 国产亚洲综合av| 91精品国产一区二区三区香蕉| 国产黄人亚洲片| 日韩在线观看一区二区| 成人欧美一区二区三区黑人麻豆 | wwwwww.欧美系列| 色爱区综合激月婷婷| 激情深爱一区二区| 亚洲一二三区视频在线观看| 国产日韩精品一区二区三区在线| 国产精品少妇自拍| 制服丝袜中文字幕一区| 色综合视频一区二区三区高清| 麻豆精品国产传媒mv男同| 一区二区三区欧美在线观看| 欧美韩国日本不卡| 精品国产乱码久久久久久久久| 欧美视频完全免费看| av在线免费不卡| 国内久久精品视频| 蜜臀99久久精品久久久久久软件| 一区二区在线观看免费| 国产精品久久久99| 国产欧美日韩久久| 久久美女艺术照精彩视频福利播放| 欧美午夜精品一区二区三区| 91小视频免费观看| 成人午夜av在线| 成人自拍视频在线| 国产美女精品在线| 国产麻豆欧美日韩一区| 国内精品国产成人| 狠狠久久亚洲欧美| 麻豆视频一区二区| 蜜乳av一区二区| 久久国产人妖系列| 美女视频一区在线观看| 日本不卡免费在线视频| 日韩影视精彩在线| 日本伊人午夜精品| 美女视频第一区二区三区免费观看网站| 亚洲a一区二区| 日本不卡一区二区三区| 另类调教123区| 韩国欧美国产1区| 国产成人精品免费| zzijzzij亚洲日本少妇熟睡| 91美女蜜桃在线| 欧美日韩高清在线| 日韩精品一区二区三区中文不卡 | 久久成人久久鬼色| 久久97超碰国产精品超碰| 激情伊人五月天久久综合| 国产成人亚洲综合a∨婷婷图片| 欧美午夜精品一区二区三区| 欧美日韩亚洲综合在线| 日韩欧美资源站| 国产欧美一二三区| 亚洲欧美日韩精品久久久久| 亚洲国产精品一区二区www| 日韩精品亚洲一区二区三区免费| 久久69国产一区二区蜜臀| 国产成人一级电影| 色噜噜偷拍精品综合在线| 欧美久久久久免费| 久久网站热最新地址| 亚洲欧美怡红院| 日韩精品三区四区| 成人精品视频一区二区三区| 色噜噜狠狠成人中文综合| 欧美精品xxxxbbbb| 国产亚洲一二三区| 亚洲小说欧美激情另类| 国产美女精品在线| 欧美视频三区在线播放| 国产色91在线| 午夜电影久久久| 成人开心网精品视频| 欧美日韩精品一区二区三区蜜桃| 久久久蜜桃精品| 亚洲国产cao| 成人中文字幕在线| 日韩欧美成人一区二区| 亚洲精品国产精品乱码不99| 激情小说欧美图片| 欧美在线影院一区二区| 久久久久国产精品厨房| 性做久久久久久久免费看| 成人精品国产一区二区4080 | 91一区二区三区在线播放| 日韩一区二区三区免费观看| 亚洲婷婷在线视频| 国产精品资源网站| 在线不卡欧美精品一区二区三区| 国产精品动漫网站| 精品无人码麻豆乱码1区2区| 欧美日韩精品电影| 亚洲女人的天堂| 成人午夜碰碰视频| 久久欧美一区二区| 男女视频一区二区| 欧美亚洲综合色| 亚洲欧洲成人精品av97| 国产一区啦啦啦在线观看| 欧美一区二区二区| 亚洲国产精品精华液网站| 91亚洲午夜精品久久久久久| 国产精品久久久久影院色老大 | 亚洲成人精品一区二区| 波多野洁衣一区| 欧美激情一区二区三区| 韩国精品一区二区| 欧美精品一区二区在线播放| 日韩影院免费视频| 制服丝袜亚洲精品中文字幕| 亚洲一区二区欧美日韩| 在线观看网站黄不卡| 亚洲乱码精品一二三四区日韩在线| 国产xxx精品视频大全| 久久久亚洲精华液精华液精华液| 免费在线观看视频一区| 精品久久久久香蕉网|