8.7. 将自定义转换添加到映射的数据项
当源数据项目不满足目标系统要求时,您可能需要修改源数据项的格式。
例如,要满足目标系统的要求,所有客户 ID 都用括号括起来:
在 Mappings 面板中,选择
customerNum
映射来填充详情窗格。在详情窗格中,点
ABCOrder
源框中的 打开下拉菜单。选择 Add custom transformation 以打开 Add Custom Transformation 页面。
点 Class 字段旁的 打开 Create a New Java Class 向导。
修改以下字段:
-
软件包 ProductShortName-wagonEnter
示例
. -
名称 wagon-wagonEnter
MyCustomMapper
. 方法 Name mvapich- iwlChange
映射到
方括号
.所有其他字段保留原样。
-
软件包 ProductShortName-wagonEnter
点 Finish。
Add Custom Transformation 页面会打开,并自动填充 Class 和 Method 字段:
点 OK 在 Java 编辑器中打开
MyCustomMapper.java
文件:编辑
括号
方法,将最后一行返回 null;
。return "[" + input + "]";
点 transformation.xml 选项卡切回到转换编辑器。
详情窗格显示
括号
方法已与customerNum
数据项关联。括号
方法在将源输入发送到目标系统之前在源输入上执行。对
TransformationTest.java
文件运行 JUnit 测试。详情请查看 第 8.4 节 “创建转换测试文件并运行 JUnit 测试”。Console 视图显示 JSON 格式的输出数据:
{"custId":"[ACME-123]","priority":"GOLD","orderId":"ORDER1","origin":"Web", "approvalCode":"AUTO_OK","lineItems":[{"itemId":"PICKLE","amount":1000,"cost":2.25}, {"itemId":"BANANA","amount":400,"cost":1.25}]}