当前位置: 首页 > 知识库问答 >
问题:

EMF比较-如何忽略标识符

华星剑
2023-03-14
IEObjectMatcher matcher = DefaultMatchEngine.createDefaultEObjectMatcher(UseIdentifiers.NEVER);

共有1个答案

高弘光
2023-03-14

在给你答案之前,我想进入理论。

Emf compare使用两种不同方式来匹配对象。第一个是Id函数,另一个是关于计算一组对象之间的距离。默认情况下,emf compare使用混合方法。如果元素的id函数可用,than将被调用,否则它将使用距离函数通过最近邻匹配对象。因此,当您创建匹配器时,您应该指定策略。在您的案例中,您选择了从不使用id函数。

DefaultMatchEngine.createDefaultEObjectMatcher(UseIdentifiers.NEVER);

实际比较不是发生在匹配引擎中,而是发生在差异引擎中。您所需要的只是扩展DefaultDiffEngine并重写createFeatureFilter方法以提供您自己的FeatureFilter。

 类似资料:
  • 我有两个基于同一ecore模型的EMF实例版本。我需要以以下格式准备一个从v1到v2更改的事物列表

  • 当我执行时,结果显然是。但是我想忽略“nullable”参数,不管它是false还是true,如果结构相同,它应该返回。 有可能吗?

  • 问题内容: 我有这样的XML消息: 我想将被测试方法产生的这种类型的消息与预期的消息进行比较,但我不在乎。因此,我希望以上消息被认为等于: 我正在使用XMLUnit的最新版本。 我在想答案是创建一个习惯。如果有准备好要使用的东西,我只是不想重新发明轮子。 欢迎使用XMLUnit以外的库的建议。 问题答案: 自从回答了这个问题以来,XMLUnit发生了很多变化。 现在,您可以在使用时轻松忽略节​​点

  • 我需要比较使用自定义差异侦听器忽略子节点序列和属性列表序列的2个XML: 我的代码适用于: 我找到了一个临时的解决方案(8小时内不能在我自己的问题上添加评论): 我之前用:ElementNameAndAttributeQualifier重写了ElementQualifier,如果我将其更改为RecursiveElementNameAndTextQualifier,我可以得到我想要的结果 还可以使用

  • 问题内容: 问题很简单。JAVA中是否有任何函数可以比较两个字符串并在忽略重音字符的情况下返回true? 即 回报相等。 谢谢 问题答案: 我认为您应该使用Collat​​or类。它允许您设置强度和区域设置,并将适当地比较字符。 从Java 1.6 API中: 您可以设置“整理器”的“强度”属性来确定在比较中被视为重要的差异水平。提供了四个优势:主要,次要,高等教育和同等优势。语言功能的优势确切分

  • 问题内容: 有和。 但是,我无法通过忽略某些字段来递归比较两个对象。根据此讨论,它必须处于开发中。 如何仍然获得我的断言的返回值进行递归比较,但忽略了某些字段。是否可以在任何其他库中使用,或者我可以通过某种方式使用它? 问题答案: 我无法让它忽略某些字段,但通过为要忽略的字段引入比较器并始终将它们评估为true设法设法解决了该问题。这不是流利的,而是完成工作的临时解决方案。 截至2017 年4月1