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

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

?? bpel2pi.java

?? 這是我們參加06年全國開源軟件的競賽作品
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
        String tempStr = tempAgent.getAction();
        tempStr = "t." + tempStr;
        listAction.add("t");
        str += tempStr + "+ 0";

        str = "(" + reduce(targetStr) + "(" + str + ")" + ")";
        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 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();
                }

                if (i == 0) {
                    str += partnerLinkValue + "$" + portTypeValue + "$"
                            + operationValue + "$" + variableValue + "("
                            + variableValue + ")" + ".";
                } else {
                    str += "+" + partnerLinkValue + "$" + portTypeValue + "$"
                            + operationValue + "$" + variableValue + "("
                            + variableValue + ")" + ".";
                }

                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.";
                listAction.add("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);

                str += tempStr;

            }
        }

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

        str = "(" + redeem(targetStr) + "(" + str + ")" + ")";
        agent.setAction(str);
        return agent;
    }

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

        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++;

                    if (i < childsNum)
                        str += activity + "+";
                    else
                        str += activity;
                } else {
                    otherwiseTimes++;
                    if (i < childsNum)
                        str += activity + "+";
                    else
                        str += activity;
                }

            }

        }

        str = "t." + "(" + redeem(targetStr) + "(" + str + ")" + ")";
        listAction.add("t");
        agent.setAction(str);
        return agent;
    }

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

        flowTimes++;
        int childsNum = getValidChildsNum(node);
        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);

            }
        }
        String sourceRear[] = new String[childsNum]; // ,從0----childsNum-1開始存儲!
        String tempSourceTotal = "";
        if (!sourceStr.equals("")) { // 如果這不為空,則臨時構造多個后置名,分別添加到該節點的每個子節點,然后再并發并發一個添加的進程!
            String linkSouStr = String.valueOf(linkSourceTimes);
            for (int i = 0; i < childsNum; i++) {
                String inputAct = "fl_s" + linkSouStr + String.valueOf(i);
                String inputValue = "ifl_s" + linkSouStr + String.valueOf(i);
                String outputValue = "ofl_s" + linkSouStr + String.valueOf(i);
                String outputAct = "'" + inputAct;
                String outputName = outputAct + "<" + outputValue + ">";
                sourceRear[i] = outputName;
                tempSourceTotal += inputAct + "(" + inputValue + ")" + ".";
                agent.setBoundName(outputValue);
                agent.setBoundName(inputAct + "&" + inputValue);
            }
            tempSourceTotal = reduce(tempSourceTotal);
        }

        int tokenCount = 0;
        StringTokenizer stringTokenizer = new StringTokenizer(afterInfo, "&");
        tokenCount = stringTokenizer.countTokens();

        String array[][] = new String[tokenCount][childsNum]; // 每行儲存一個后置名字分裂的名字!
        for (int i = 0; i < tokenCount; i++) { // 做兩層嵌套循環,對每個afterName的分量做分裂!
            String token = stringTokenizer.nextToken();
            StringTokenizer stringTokenizer1 = new StringTokenizer(token, "<");
            String outAct = stringTokenizer1.nextToken();
            String inAct = "";
            if (outAct.charAt(0) != '\'')
                System.out.println("in__flow: Name has error!");
            else
                inAct = outAct.substring(1);
            String tempNames = "";
            for (int j = 0; j < childsNum; j++) {
                String tempOutputAction = outAct + "$" + String.valueOf(i)
                        + String.valueOf(j);
                String tempOutputValue = "ofl" + "$" + String.valueOf(i)
                        + String.valueOf(j);
                String tempInputAction = inAct + "$" + String.valueOf(i)
                        + String.valueOf(j);
                String tempInputValue = "ifl" + "$" + String.valueOf(i)
                        + String.valueOf(j);
                agent.setBoundName(tempOutputValue);
                agent.setBoundName(tempInputAction + "&" + tempInputValue);
                array[i][j] = tempOutputAction + "<" + tempOutputValue + ">";
                array1.add(listIndex, new String(tempInputAction));
                array2.add(listIndex, new String(""));
                listIndex++;
                tempNames += tempInputAction + "(" + tempInputValue + ")" + ".";
            }
            int location = array1.indexOf((String) inAct); // 對分裂的名字進行記錄,方便查找和替換!對應sequence
            // 活動中的前置條件的處理!
            if (location > -1)
                array2.add(location, (String) (reduce(tempNames)));
        }
        int j = 0; // 記錄當前分析的是第幾個孩子!從0開始!
        for (Node child = node.getFirstChild(); child != null; child = child
                .getNextSibling()) {
            int childType = activityMap.getType(child.getNodeName()
                    .toLowerCase());
            if (childType != 99 && childType != 11) { // 注意下面結構的邏輯關系!

                String tempAfterInfo = "";
                if (tokenCount > 0) {
                    for (int i = 0; i < tokenCount; i++)
                        tempAfterInfo += array[i][j] + ".";
                    tempAfterInfo = reduce(tempAfterInfo);
                }
                if (!sourceStr.equals("")) { // 將由于linkSource構造的臨時后置名字加入到afterInfo中!
                    String addAfterInfo = sourceRear[j];
                    tempAfterInfo += "&" + addAfterInfo;
                }
                Agent tempAgent = new Agent();
                tempAgent = ParseNode(child, tempAgent, tempAfterInfo);

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

                String tempStr = tempAgent.getAction();
                if (!isLastValidNode(child))
                    str += tempStr + "|";
                else
                    str += tempStr;
                j++;
            }
        }

        if (!sourceStr.equals("") && !tempSourceTotal.equals("")) {
            str += "|" + redeem(tempSourceTotal) + reduce(sourceStr) + ".0";
        }

        str = "(" + redeem(targetStr) + "(" + str + ")" + ")";
        // 這里不用加sourcelink,因為它已經發散到各個子節點中去了!
        agent.setAction(str);
        return agent;
    }

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

        invokeTimes++;

        String strin = "";
        String strout = "";
        String str = "";
        String partnerLinkValue = "";
        String portTypeValueTemp = "";
        String portTypeValue = "";
        String operationValue = "";
        String inputVariableValue = "";
        String outputVariableValue = "";
        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);

            }
        }

        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 inputVariable = getNamedItemIgnoreCase(attrs, "inputVariable");
        if (inputVariable != null) {
            inputVariableValue = ((Attr) inputVariable).getValue().trim()
                    .toLowerCase();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
三级欧美在线一区| 3d动漫精品啪啪1区2区免费| 成人激情免费电影网址| 在线亚洲+欧美+日本专区| 欧美二区三区的天堂| 欧美激情一二三区| 日韩国产精品久久久| 成人免费观看av| 欧美日韩一级二级三级| 国产精品天干天干在观线| 日产国产高清一区二区三区| 99久久精品免费精品国产| 精品盗摄一区二区三区| 午夜精品久久久久久久久久久 | 欧美激情一二三区| 日韩高清在线不卡| 在线欧美日韩精品| 亚洲欧美在线高清| 欧美第一区第二区| 欧美一区二区在线看| 亚洲免费在线播放| 成av人片一区二区| 国产精品乱人伦中文| 久久精品免费观看| 日韩一区二区在线观看视频| 亚洲高清免费视频| 欧美性色欧美a在线播放| 亚洲色图制服丝袜| 成人av在线播放网站| 欧美一二三四区在线| 亚洲午夜精品17c| 91国产免费看| 18成人在线观看| 91蜜桃免费观看视频| 中文字幕在线不卡一区二区三区| 极品少妇xxxx偷拍精品少妇| 日韩三级免费观看| 久久丁香综合五月国产三级网站| 日韩一级二级三级精品视频| 日本在线观看不卡视频| 欧美一区二区视频在线观看 | 国产在线视频一区二区三区| 欧美一区二区三区四区久久| 免费人成网站在线观看欧美高清| 欧美一级日韩免费不卡| 久久精品国产免费| 日本一区二区三区在线不卡| 国产91色综合久久免费分享| 国产精品短视频| 欧洲国内综合视频| 秋霞成人午夜伦在线观看| 7777精品久久久大香线蕉 | 色天天综合久久久久综合片| 亚洲一区二区三区中文字幕 | aaa欧美大片| 亚洲精品高清在线| 91精品国产色综合久久不卡电影| 另类欧美日韩国产在线| 国产日韩欧美综合一区| 91影院在线观看| 亚洲不卡av一区二区三区| 欧美一区二区免费| 国产91丝袜在线播放| 亚洲激情在线播放| 日韩欧美三级在线| 不卡的av在线| 日韩综合小视频| 欧美激情一区二区| 欧美疯狂性受xxxxx喷水图片| 极品美女销魂一区二区三区 | 亚洲精品一区二区三区影院| 成人av影院在线| 婷婷开心久久网| 久久精品视频一区二区三区| 91久久免费观看| 久久99精品国产麻豆不卡| 亚洲人成7777| 精品国产乱码久久久久久1区2区| 北条麻妃一区二区三区| 日韩黄色免费网站| 国产精品久久久久一区二区三区| 欧美日韩高清一区二区| 国产成人午夜精品5599| 丝袜美腿亚洲综合| 国产精品国产精品国产专区不片| 日韩欧美视频一区| 欧美亚洲动漫另类| av福利精品导航| 国内精品国产成人国产三级粉色 | 国产精品区一区二区三区| 欧美日韩一区二区不卡| 丁香激情综合国产| 青青国产91久久久久久| 亚洲老妇xxxxxx| 中文一区二区在线观看| 日韩一区二区三区四区| 欧美性生活久久| 99精品视频一区二区| 国产成人av电影在线观看| 日av在线不卡| 日韩高清不卡在线| 亚洲一级在线观看| 亚洲欧美在线视频| 国产精品网站在线| 国产日韩欧美精品一区| 日韩欧美亚洲一区二区| 69堂国产成人免费视频| 欧美日韩卡一卡二| 4438成人网| 欧美日韩高清在线播放| 午夜私人影院久久久久| 一区二区三区中文字幕电影| 国产亚洲成aⅴ人片在线观看| 欧美一区二区三区视频在线观看 | 九九**精品视频免费播放| 亚洲一区在线播放| 亚洲男人电影天堂| 成人免费小视频| 国产精品国产自产拍在线| 中文字幕av一区二区三区| 国产女同性恋一区二区| 国产欧美一区二区精品性| 中文文精品字幕一区二区| 日韩欧美二区三区| 91精品国产综合久久香蕉麻豆| 欧美日本一区二区在线观看| 欧美亚洲国产一区二区三区va | 91福利社在线观看| 91污在线观看| 国产欧美日韩在线| www国产成人| 开心九九激情九九欧美日韩精美视频电影 | 99久久精品99国产精品| aa级大片欧美| 在线中文字幕一区二区| 欧美性感一区二区三区| 欧美日韩一区三区四区| 91超碰这里只有精品国产| 欧美大尺度电影在线| 久久久久久黄色| 中文字幕一区二区5566日韩| 亚洲狠狠丁香婷婷综合久久久| 亚洲一区中文日韩| 欧美aaaaaa午夜精品| 国产乱码精品1区2区3区| 波波电影院一区二区三区| 91久久精品网| 欧美一区二区在线看| 国产日韩欧美麻豆| 亚洲免费观看高清完整版在线| 午夜精品久久久久久久久| 国内精品伊人久久久久av影院 | 欧美日韩国产色站一区二区三区| 99久久伊人精品| 色偷偷88欧美精品久久久| 蜜桃视频第一区免费观看| 久久97超碰色| 99视频热这里只有精品免费| 欧美日韩久久一区二区| 精品99一区二区| 日韩国产在线观看| 岛国一区二区在线观看| 欧美日韩在线观看一区二区| 久久日一线二线三线suv| 亚洲欧美日韩国产中文在线| 青青草精品视频| 9色porny自拍视频一区二区| 91精品国产日韩91久久久久久| 国产精品初高中害羞小美女文| 婷婷亚洲久悠悠色悠在线播放| 高清国产一区二区| 欧美一二三区在线| 亚洲乱码国产乱码精品精可以看 | www.综合网.com| 日本成人在线电影网| 欧美大胆人体bbbb| 久久成人麻豆午夜电影| 国产黑丝在线一区二区三区| 在线观看日产精品| 欧美极品aⅴ影院| 久久99这里只有精品| 欧美视频日韩视频在线观看| 国产精品色哟哟| 精品无码三级在线观看视频| 欧美精品1区2区3区| 一区二区三区中文免费| 丁香网亚洲国际| 久久奇米777| 免费人成黄页网站在线一区二区 | 捆绑调教一区二区三区| 精品视频一区三区九区| 成人免费在线视频| 成人中文字幕电影| 国产丝袜欧美中文另类| 国产一区高清在线| 日韩欧美一卡二卡| 麻豆专区一区二区三区四区五区| 7777精品伊人久久久大香线蕉最新版| 亚洲综合色网站| 欧美一a一片一级一片|