9.7. 将自定义转换添加到映射的数据项

当源数据项目不满足目标系统要求时,您可能需要修改源数据项的格式。

例如,要满足目标系统的要求,所有客户 ID 都用括号括起来:

  1. Mappings 面板中,选择 customerNum 映射来填充详情窗格。

    Description
  2. 在详情窗格中,点 ABCOrder 源框中的 drop-down menu access 打开下拉菜单。

    Description
  3. 选择 Add custom transformation 以打开 Add Custom Transformation 页面。

    Description
  4. Class 字段旁的 create new function button 打开 Create a New Java Class 向导。

    Description
  5. 修改以下字段:

    • 软件包 ProductShortName-wagonEnter 示例.
    • 名称 wagon-wagonEnter MyCustomMapper.
    • 方法 Name mvapich- iwlChange 映射到 方括号.

      所有其他字段保留原样。

  6. Finish

    Add Custom Transformation 页面会打开,并自动填充 ClassMethod 字段:

    Description
  7. OK 在 Java 编辑器中打开 MyCustomMapper.java 文件:

    Description
  8. 编辑 括号 方法,将最后一行 返回 null;

    return "[" + input + "]";
  9. transformation.xml 选项卡切回到转换编辑器。

    Description

    详情窗格显示 括号 方法已与 customerNum 数据项关联。

    括号 方法在将源输入发送到目标系统之前在源输入上执行。

  10. TransformationTest.java 文件运行 JUnit 测试。详情请查看 第 9.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}]}