近日又发现了一个ofbiz 11.04 的bug .
在eca 中使用set 如果使用ofbiz 提供的表达式就会出现问题 . eg: <set field-name="newCpspTxId" env-name="${oriTx.oldCpspTxId}" />
这行命令的意思是 是把eca 中上下文context 中的oriTx 这个map 中的key 为oldCpspTxId 对应的value 以newCpspTxId为key put 到上下文context 中。。
这行命令在第一次执行是正确的 , 如果第一次从上下文取到的值为 301415 的话,那么下次执行取值仍然还是301415 .
之后再执行的话都是定值,不会根据上下文参数的变化而变化了 。
根据我们使用的需要,通过修改其源码 , 现对eca set 规则调整如下 ::
eca set 使用规则(env-name , format , value 这三者单独设置的时候,不需要特别留意,配合使用的时候 请参考规则) :
1: 如果不设置 format 参数值来源先从env-name 中获取 , 如果 解析env-name 获得的值为null 那么默认使用 value .这里的env-name 包括带${} 和 不带${}的, 如果 env-name 和 value 都为null 那么不做任何操作 。env-name 值类型为Object ,其上下文本来是什么类型现在还是什么类型 ,value 是String 类型 。
2:如果format 为 append 则先把env-name 转化成String 然后和 value 拼接起来 , env-value 居左 value 居右 .结果类型为String
3如果format 为其他类型 ,那么以env-name format 之后的值 为主 ,如果env-name 为null 那么 format value .
duan.jt(段金涛) 10:53:40
4 如果 field-name 的格式是以后逗号分隔的
。eg: <set field-name="oriTx.txId" 这种 ,系统会把最后的结果以 txId 为key 放到上下文中的oriTx 这个Map 中 。。。
field-name 中只支持一个逗号.如果不包含逗号 ,结果是以field-name 为key 直接放到上下文中的 。。。
分享到:
相关推荐
ofbiz11.04 db dmp
在本文中,我们将详细介绍如何在Windows 7操作系统上安装OFBiz企业应用框架,并配置PostgreSQL作为其数据库。OFBiz是一个开源的企业级应用平台,而PostgreSQL是一个强大的对象关系型数据库管理系统,它们共同为企业...
在Ofbiz中,数据库模型扮演着至关重要的角色,它是系统数据结构的基础,定义了所有业务实体及其相互关系。 数据库模型是Ofbiz的核心组成部分,它描述了系统中的各种实体(如产品、订单、客户等)以及它们之间的关系...
在OFBiz项目中,数据模型是其业务逻辑的基础,其中定义了大量的数据库表以及它们之间的关联和约束。本手册主要翻译了核心数据模型中的表结构和字段,以及提供了主键、外键、非空字段的说明。 核心数据模型涵盖了几...
CREATE DATABASE ofbiz CHARACTER SET utf8 COLLATE utf8_general_ci; ``` `CHARACTER SET utf8`定义了数据库的字符集,而`COLLATE utf8_general_ci`定义了排序规则,ci表示大小写不敏感。 2. **配置数据库连接*...
1. **安装与配置**:文档可能会详细介绍如何在各种操作系统环境下安装Ofbiz,包括Java环境设置、数据库连接配置以及运行服务器的步骤。 2. **架构概述**:Ofbiz基于Service Engine、Entity Engine、Event Engine、...
这将帮助你理解Ofbiz如何在数据库中存储信息,如何通过服务接口操作数据,以及如何展示这些信息给用户。 文档中提供的"新建 Microsoft Word 文档 (2).docx"和"新建 Microsoft Word 文档.docx"可能是详细的学习笔记...
3. 当在一个`TransactionUtil.begin()`事务中,同时更新一个数据连接的表并调用另一个数据连接的存储过程,Ofbiz的事务管理应该能够协调这些操作,只要它们都支持X/Open XA协议。在这种情况下,Ofbiz和其底层的事务...
在OFBiz权限管理系统中,采用了“安全组”(SecurityGroup)的概念来关联“权限”与“用户”。系统中的权限种类繁多,包括但不限于系统预设权限、用户自定义权限、资源权限、操作权限等。这些权限与安全组之间建立多...
在提供的OFBIZ_Demo压缩包中,用户可以找到OfBiz的演示版本,这是一套预配置的环境,展示了OfBiz在实际业务场景下的功能和操作。这个演示通常包括以下部分: 1. **安装与配置**:压缩包可能包含了安装指南和配置...
1. SVN 插件安装:我们需要在 Eclipse 中安装 SVN 插件,以便从 SVN 仓库中下载 Ofbiz 的源代码。我们可以在 Eclipse 的“Help”菜单中选择“Install New Software...”,然后输入 Subclipse 安装地址:...
在Ofbiz 10.04版本中,使用MySQL数据库进行配置可以提供高效且成本效益的数据存储解决方案。以下是详细的步骤和注意事项: ### Step1:创建数据库 首先,在MySQL服务器上创建一个新的数据库,例如名为`ofbiz10`。这...
在OFBiz中,过滤器用于在请求到达实际处理业务的组件之前进行安全检查、数据验证等操作。 2. **控制器(Controller)**:在OFBiz中,控制器负责调度请求,根据配置文件中的映射规则将请求路由到相应的处理器。...
通过分析和运行这个示例,你可以逐步了解OFBiz的工作原理,掌握如何在实际项目中使用它进行数据操作。同时,这也是学习OFBiz框架及其组件交互的好方法。 总之,OFBiz作为一个强大的企业级应用框架,虽然初学难度较...
同时结合了 ofbiz 在开发过程中所参 考的一些资料,比如《数据模型资源手册(卷1)》,《JAVA 核心模式》等对 ofbiz 的主要的设计思想 进行分析。文档的目的是为 ofbiz 的开发者和运维人员提供一个良好的参考资源。 ...