问题标签 [smooks]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何实现 list.list 在 smooks 中列出副本
我是smooks的初学者。我面临一个问题。这是java-java转换。我有一个列表,其中我有一个包含 2 个对象的内部列表。如何实现 list.list 以在 smooks 中列出副本?
xml - HashMap 和 smooks
我需要将 Map 转换为 xml,然后使用 smooks 将其转换回 Map。该地图可以包含复杂的值(例如:列表),如何使用 smooks 来实现?
前任:
where<a>
和<b>
tags 指的是现有的 A 和 B 模型
谢谢,
edi - 烟雾问题
我目前正在评估 smooks (www.smooks.org)。它看起来就像我们需要的一样,但我在让一个简单的例子工作时遇到了问题。
我有一个 ant 脚本,它可以下载我所有的依赖项,包括 EDIFACT 消息的映射和绑定 jar。
我正在尝试使用他们的 EJC 将简单的 EDIFACT APERAK 消息转换为 Java(我正在使用 JavaSE 进行这个小测试)。转换失败,但出现了一些不期望出现的块(见下文)。所以我想知道我是否缺少一些配置(注意日志输出中的前几行)。
有人与 Smooks 的 EJC 合作过吗?我怎样才能获得有关它抱怨的线路的更多信息?
所以这是代码:
当我运行它时,我得到了这个异常
实际的 EDIFACT 消息相当简单:
当我删除前导 UNA 和 UNB 片段时,它会出现以下异常:([APERAK][D:00B:UN]。必须至少有 1 个片段 [BGM] 实例)。有一个 BGM 部分,所以我不确定它为什么抱怨。
更新: 当我从消息中删除回车时
它工作正常。但是我如何让 smooks 接受回车和空格以及两个主要的 UNA/UNB 段?我可能跳过了消息处理 smooks 通常做的某些部分。
更新 2: 发现支持 UNA/UNB 段(我的错误),但我仍然遇到回车问题。Renat 建议在 EDIParser 上使用“ignoreNewLines”选项。我已经尝试过了,但似乎没有什么不同。我也试过用这个来配置smooks:
再次没有成功。
我觉得 D00AInterchangeFactory (或您使用的每个版本)以不同方式配置其 EDIParser 并且忽略了 ignoreNewLines 。
有没有办法获得 InterchangeFactory 正在使用的 EDIParser?
java - 如何使用指定的 Schema 将 Java 类序列化为 XML
我有一个 Joo.java 类,我想使用模式 JooSchema.xsd 将其序列化为 XML。
Smooks API 可以吗,怎么做?
java - 使用 apache camel、smooks 和 flatpack
我正在使用 camel 和 smooks 编写路线,生产者作为 JPA 存储库,生成 JPA 对象列表,我需要将其作为固定宽度文件发送到 sftp 服务器。
这是我认为发生这种情况所必需的
- 使用 JPA 生成对象列表的存储库(我有这个)
- 一个 smooks 到 flatpack 的映射,它采用上述列表的 xml 版本,并将其转换为固定宽度的文件
- 以存储库开始并以通过 sftp 发送的文件结束的骆驼路线:
这是我的代码:
但是,当我运行单元测试时,出现以下错误:
我认为这意味着 flatpack 不知道如何处理列表,并且需要在每个对象的基础上工作。
因此,我正在寻找的是类似于 freemaker 模板的 smooks 映射,但我想使用 flatpack 的列定义而不是 freemaker 模板:
解决此问题的最佳方法是什么?没有太多可用的文档,我已经搜索了好几个星期
谢谢
山姆
java - 以编程方式将 csv 映射到 smooks 中的 java 无法处理空 Double
我正在使用 smooks 库快速轻松地解析 csv 文件,以编程方式将它们映射到 POJO。但是我在处理 POJO 的 Double 属性上的空字段时遇到了麻烦。例如,java 对象有:
smooks 映射如下:
但是,当处理 c_06、c_07、c_08 和 c_09 的空值(不仅仅是零,而是空)的文件时,恰好是 Double 值,即使在 POJO 的属性设置器上设置函数重载也不起作用并抛出
有没有人如何避免这个陷阱保持程序化方法?
----------------EDIT----------------: 我在 csv-to-java 的 smooks 示例中对此进行了测试,正如汤姆所说,使用配置 xml。我有这个并且错误重复:
该文件是
(注意空的年龄)。而java主类是
我发现这是汤姆的例子(!!!),所以我问:如何将 csv 字段映射到 POJO 属性<jb:bean>
?
---------------- EDIT2 ----------------: 我尝试了在 codehaus 的 JIRA 线程中找到的一些东西,我得到了以下结果配置文件:
它使用带有空整数(年龄)的CSV工作,但是当我将javabean xsd更新到1.1以上时它失败了。抛出错误
我错过了什么?
java - 使用 Smooks 读取 CSV
使用 Smooks ( 1.4
) 读取 CSV 并将其转换为Person
POJO。
CSV 由每行以逗号分隔的记录组成,每条记录都有用竖线分隔的字段:
史密斯|约翰|45|男|约翰尼|JSmith|JSmizzle,
史密斯|简|43|女|简
等等。因此,每条线代表一个不同的人来创建。首先,一个 POJO:
我的问题是List
别名。以下是我的 XML 配置中的重要部分:
所以我窒息的地方是createOnElement
正确配置aliases
ArrayList 以及每个alias
字符串。在此先感谢任何可以将我推向正确方向的人!
java - ETL 工具:GUI 与框架
我听说“ETL 工具”这个词最近使用了很多,并开始深入了解它们。我在这里找到了一个很棒的 Java 开源 ETL 工具列表,并开始阅读它们。
但这让我真的很困惑。
大多数这些工具(CloverETL、Pentaho 等)都是 GUI 工具。其中一些,例如 Smooks,是纯 Java 框架。我想这是有道理的:一些 ETL 用户可能不是技术人员和/或想使用 GUI 工具来设置转换。其他用户将是希望利用这些工具的原始 ETL 功能的开发人员。
我的问题:这些 GUI 工具比纯 Java 框架有什么好处(附加功能等),反之亦然?诸如 CloverETL 和 Pentaho 之类的“主要参与者”GUI 工具——它们自称是 GUI 工具——是否也有 Java API,我可以用它们(以编程方式)完成相同的事情?还是它们是纯 GUI 工具?我在任何地方都找不到 Java Docs(对于任何一个)。
java - 无法使 Smooks EDI 与 Camel 一起使用
想法是从文件系统读取edi文件并将其传输到XML。我尝试了从 smooks 下载的示例,它工作正常。但是当我开始使用来自 Camel 处理器的相同代码(和 edi 文件)时,我得到了一个空指针。
代码
日志
java - 使用 smooks 将 EDI 消息映射到 XML 时遇到问题
我想使用 Smooks 将以下 ORDERS EDI 消息映射到 xml
下面的 smooks edimap 配置中的(基于上述消息)段、字段、组件和子组件的值应该是什么?
<medi:edimap xmlns:medi="http://www.milyn.org/schema/edi-message-mapping-1.0.xsd">
<medi:description name="Purchase Order" version="1.0" /> < medi:delimiters segment="" field="+" component="'" sub-component="~" />
</medi:edimap>我可以从哪里获得所有 EDI 采购订单字段的描述以及示例?
谢谢你。