8.7. 将自定义转换添加到映射的数据项
当源数据项无法满足目标系统的要求时,您可能需要修改源数据项的格式。
例如,要满足目标系统的要求,所有客户 ID 都用括号括起来:
在 Mappings 面板中,选择
customerNum
映射来填充详情窗格。在详情窗格中,点
ABCOrder
源框中的 来打开下拉菜单。选择 Add custom transformation 以打开 Add Custom Transformation 页面。
点 Class 字段旁的 打开 Create a New Java Class 向导。
修改以下字段:
-
软件包 wagon-wagonEnter
示例
. -
名称 wagon-wagonEnter
MyCustomMapper
. 方法名称 HEKETI -wagonChange
映射到
方括号
。所有其他字段保留原样。
-
软件包 wagon-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}]}