JWFD开源工作流矩阵引擎测试版本BUG20231022修正代码

文章描述了一个在JWFDworkflowEngines(Matrix)包中的DataMatrix类中,名为ParamFileOutputValue的函数,用于处理矩阵参数表的遍历,特别关注了节点标签的处理和拓扑结构对算法的影响。作者提到这是测试版本,有待完善。
    public void ParamFileOutputValue(String paramfile) {

        String s = "";
        String sp = "";
        String ssp = "";

        List<String> list = new ArrayList<String>();
        int p = 0;
        int k = 0;
        //这个地方要修改为整个参数表的最大行数,而不是起始点行数!!
        s = this.ParamlineScanner(paramfile).substring(1, 2);
        p = Integer.parseInt(s);
        k = ParamlineScanOutput(paramfile);

        //  System.out.println(ParamlineScanOutput(paramfile));
        //  System.out.println(this.ParamlineScanner(paramfile).substring(4, 7));
        System.out.println("矩阵参数表遍历算法启动,输出:");
        /*
           节点数字标签大于十位数,导致子字符串的序号发生变化,怎么形成动态的序号标签呢?
           取出nodexx的长度,然后截取最后的字符串,无论多少位数,都可以进行对比.已经按照正则表达式的方法完成该修正代码
        
           在处理复杂拓扑网络的时候,这个算法的长度是否与拓扑结构相关?固定的代码能否处理
           不同的变化的拓扑结构,这个TEST888参数表作为矩阵引擎的测试数据,如果能够完全的遍历完成,那就非常好了
           随着矩阵参数表的日益庞大,这个算法也越来越复杂,这种代码结构很显然存在巨大的缺陷,需要重新设计
       
        String str = this.ParamSubscriptScanner(paramfile).get(p - 1).toString();
        String[] strs = str.split(",");

        System.out.println(strs[0].toString().substring(1));//第一个节点
        System.out.println(strs[1].toString().substring(0, strs[1].toString().length() - 1));//第二个节点
       */
        
        if (this.ParamlineScanner(paramfile).substring(4, 7).equals("起始点")) {
            System.out.println(this.ParamSubscriptScanner(paramfile).get(p - 1).toString());
            
             String str = this.ParamSubscriptScanner(paramfile).get(p - 1).toString();
             String[] strs = str.split(",");
            
            System.out.println("起始点的下一个邻接点是:" + strs[1].toString().substring(0, strs[1].toString().length() - 1));
            sp = strs[1].toString().substring(0, strs[1].toString().length() - 1);

            for (int i = 0; i <= k - 1; i++) {
                //输出所有的节点标签

                 String str1 = this.ParamSubscriptScanner(paramfile).get(i).toString();
                 String[] strs1 = str1.split(",");
                
                //进行对比,如何进行全部参数的对比,并输出?基本结构就是匹配之后再进行循环再匹配输出,可以形成一个独立的函数,然后取出来递归
                if (strs1[0].toString().substring(1).equals(sp)) {
                    //输出下一批邻接点,继续进行搜索和对比,直到达到最后一个节点

                    System.out.println("下一个邻接点是:" + strs1[1].toString().substring(0, strs1[1].toString().length() - 1));
                    ssp = strs1[1].toString().substring(0, strs1[1].toString().length() - 1);

                    for (int j = 0; j < k - 1; j++) {

                        String str2 = this.ParamSubscriptScanner(paramfile).get(j).toString();
                        String[] strs2 = str2.split(",");
                        
                        if (strs2[0].toString().substring(1).equals(ssp)) {

                            System.out.println("再下一个邻接点是:" + strs2[1].toString().substring(0, strs2[1].toString().length() - 1));

                        }
                    }
                }

            }

        }
        // 输出这行的节点标签内容:(node7,node6)的node7的下一个邻接点node6
        /*
              下标:(7,6): 节点标签:(node7,node6): 节点状态:(0,0): 节点标志:起始点 
              取出substring node6,作为对比字符串,搜索所有的参数表行数据,进行对比,输出下一个邻接点
              
         */
        System.out.println("遍历算法未完全完工,敬请期待,该版本为测试版本");
        System.out.println("工作流矩阵引擎-遍历算法测试版本......待续");
    }

请把该函数覆盖到JWFD开发包的org.jwfd.workflowEngines.Matrix.DataMatrix.java文件的同名函数中,非常感谢大家的支持,因为矩阵引擎并没有任何先例可以借鉴,所以一步一步的再做,还有很多不完善的地方。。。。

2010.12.12 最新更新 JWFD最新的官方博客地址为 http://blog.youkuaiyun.com/comsci JWFD最新官方下载地址 http://www.cnblogs.com/comsci/favorite/260690.html 本模块简称JGAM 是 jwfd GrammarAnalysis module (JWFD语法分析模块) 的缩写 用于JWFD或者其它流程系统中处理用户自定义的公式和脚本语言的模块 本模块使用开源软件ANTLR-3.0为基础,经过COMSCI对语法文件的修改而成,适用于各种流程引擎,可以结合JWFD使用 也可以嵌入到其它JAVA系统中使用 使用方法: 用户只需要在自己的系统中调用GrammarInterface类中的ScriptAnalysis()的方法即可,通过在ScriptAnalysis()方法中把string参数STR赋值为公式或者脚本 具体公式和脚本例子请参考代码中GrammarInterface类的方法说明 请将压缩包中的antlr-3.0.jar文件放在项目的JAR库中... 请用户根据项目具体情况自行修改类的package路径,默认路径为 org.jwfd.workflow.GrammarAnalysis ============================================================================================================ JWFDjava workflow designer JAVA工作流设计系统 的缩写 作者 comsci 官方群号: 7428804 推荐技术联盟 fireWorkflow 群,作者:非也 作品 FireWorkflow 工作流系统 群号:80347522 网站 www.fireflow.org 推荐技术联盟 OpenJweb 群,作者:阿宝 作品 OpenJweb 快速开发平台 群号:33724089 网站 http://code.google.com/p/openjweb/downloads/list 推荐技术联盟 family168 www.family168.com 专业的JBPM解决方案提供者
JWFD申请到一个论坛专区,希望大家对JWFD的数据结构和设计有什么意见和建议,包括BUG都可以到这个地方来提交 地址是 http://www.openjweb.com/bbs/forum.php?mod=forumdisplay&fid=61 jwfd 工作流设计器V0.91 (本程序的源代码在comsci的其它资源中下载) 名称是 JWFD v0.94工作流代码 for eclipse(BUG修正版) COMSCI 2005 需要JDK1.4以上 运行方法:双击jwfd.jar运行 QQ:784092877 本工具由JAVA SWING与开源软件JGRAPH包的一些类和方法共同编写的,其中对原JGRAPH包的一些类 和方法进行了修改和完善(原始类不能将图的一些重要属性写入GXL文件,我添加了这几种属性的方法) 现在可以使用的一些功能有: 利用作图工具界面完成流程图的绘制,添加可以处理的节点属性和其他一些通用功能, 利用树型结构显示流程图文件的信息(一个是临时GXL文件目录(GXL_TEMP),一个是保存已经提交的GXL文件的目录(ACTIONED)) 通过点击顶部工具栏的最后一个图标,弹出对话框输入文件名后将图GRAPH保存为GXL文件 把GXL文件提交到数据库中的功能可通过在树型栏目中对已经保存的文件点击右键选择提交流程图来运行 提交完成后,在树型栏中的第二项目,已提交流程中就生成了一个被修改了文件名的项,同时数据库中的 stem_main(节点表)和edge_control(边定义表)中就就完整的图的基本数据,可以供流程运行处理模块使用 (本人使用的是MYSQL数据库,库的名字为new_sys,有三张基本表,建表SQL在包中,请自行修改 JGRAPH中对图和顶点与边的定义与存储结构是非常简洁与实用的,利用数据库或者是GXL文件中的这些数据可以非常简单的处理一个复杂的流程图........... 该工具经过修改后,也可以实现一个实时监控界面和其它的适合于网络结构显示的工具和项目 GXL文件格式就是一种标准XML格式文件.....非常容易处理..可以脱离数据库进行流程图数据管理,效率很高 但是如果写入库中,则可以让程序更灵活一些............. 这些程序是在JBuliderX版本中完成的,我把需要用到的LIB都一起打成一个包..
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值