dd事件与规则关联
来源:互联网 发布:网络金融部 编辑:程序博客网 时间:2024/06/06 20:48
1.背景
原实现中,在接口事件是与单据类型关联的.当一种单据类型对应多个抽取规则,需要各自的事件处理方式,程序就无法适应了.
要求抽取事件和抽取规则关联.
修改后的逻辑如下:
.仍允许按单据类型设置接口事件.
.如果规则指定了自己的事件处理逻辑,则采用本规则设置,否则采用单据类型的设置.
.当未指定单据类型的事件处理命令时,采用第1个规则的设置.(兼容性考虑)
2.代码修改
代码已在trunk上修改.
(1)增加定义
CRule增加成员.
CEventCmd *on_before_get_; CEventCmd *on_after_get_;
(2)读配置
pElement = (DOMElement*)GetChildNodeByTagName(pRootElement,"BeforeGet"); this->on_before_get_ = dynamic_cast<CEventCmd*>(sti_->get_event_cmd(EVENT_EXTRACTION_BEGIN)); if (pElement) { CEventCmd *cmd = new CEventCmd; if (cmd->Load(pRootElement,"BeforeGet")); { delete cmd; return -1; } if (this->on_before_get_==0) { sti_->set_event_cmd(EVENT_EXTRACTION_BEGIN,cmd); } this->on_before_get_ = cmd; } pElement = (DOMElement*)GetChildNodeByTagName(pRootElement,"AfterGet"); this->on_after_get_ = dynamic_cast<CEventCmd*>(sti_->get_event_cmd(EVENT_EXTRACTION_END)); if (pElement) { CEventCmd *cmd = cmd = new CEventCmd; if (cmd->Load(pRootElement,"AfterGet")) { delete cmd; return -1; } if (this->on_after_get_) sti_->set_event_cmd(EVENT_EXTRACTION_END,cmd); this->on_after_get_ = cmd; }
(3)使用
CEventCmd *on_before_get = this->on_before_get_; /// dynamic_cast<CEventCmd*>(sti_->get_event_cmd(EVENT_EXTRACTION_BEGIN)); CEventCmd *on_after_get = this->on_after_get_; ///dynamic_cast<CEventCmd*>(sti_->get_event_cmd(EVENT_EXTRACTION_END));
3.todo
注意事项:
.das(或gyb2.0)的代码未修改,需要时调整
.新引入的成员变量在单据类型设置了事件处理命令时对象在程序结束时未销毁
.目前只处理了:EVENT_EXTRACTION_BEGIN,EVENT_EXTRACTION_END这2个事件.
.是否将来有这种情形:指定了单据类型的接口事件,但某个规则不执行任何命令.目前的情况是必然执行单据类型指定的命令.
0 0
- dd事件与规则关联
- 关联规则与序列模式
- 读 关联规则现状与应用 有感
- 关联规则与Apriori算法优化
- 数据预处理与关联规则挖掘
- 关联规则与提高算法效率
- 关联规则:R与SAS的比较
- 关联规则挖掘基本概念与Aprior算法
- 【机器学习】关联规则与Apriori算法
- 【机器学习】关联规则与FP-Tree
- 关联规则挖掘基本概念与Aprior算法
- 关联规则挖掘基本概念与Aprior算法
- 关联规则
- 关联规则
- 关联规则
- 关联规则
- 关联规则
- 关联规则
- MVC模式详解
- “USB连接方式”设置界面 (MTP,PTP,UMS)
- (转)libiconv库链接问题一则
- 编译ZedBoard的linux镜像(uImage)
- C++中auto
- dd事件与规则关联
- org.springframework.beans.factory.xml.XmlBeanDefinitionStoreException: Line 2 in XML document from c
- 使用Pygments来实现代码高亮
- 操作系统的硬件环境
- guava 异步编程(listenerFuture monitor RateLimiter)
- 使用Sublime Text 3的HTML-CSS-JS Prettify插件格式化代码
- 树莓派wifi无路由器连接
- C# WinForm程序中不在任务栏显示的处理方法
- C/C++指针详解