bnj*_*uly 6 java merge model eclipse-emf eclipse-emf-ecore
有没有办法在Java中以编程方式将多个Ecore模型(2个或更多个)组合在一个Ecore模型中?所有模型都符合相同的元模型.
在:
Model1 conforming to metamodelX
Model2 conforming to metamodelX
model3 conforming to metamodelX
model4 conforming to metamodelX
model5 conforming to metamodelX
Run Code Online (Sandbox Code Playgroud)
日期:
modelOut conforming to metamodelX and merge of Model1, Model2, model3, model4, model5 ...
Run Code Online (Sandbox Code Playgroud)
Eclipse项目用于处理EMF比较和合并,称为EMF比较.
以下是他们提供的示例:
// Loading models
EObject model1 = ModelUtils.load(model1, resourceSet);
EObject model2 = ModelUtils.load(model2, resourceSet);
// Matching model elements
MatchModel match = MatchService.doMatch(model1, model2, Collections.<String, Object> emptyMap());
// Computing differences
DiffModel diff = DiffService.doDiff(match, false);
// Merges all differences from model1 to model2
List<DiffElement> differences = new ArrayList<DiffElement>(diff.getOwnedElements());
MergeService.merge(differences, true);
Run Code Online (Sandbox Code Playgroud)
这确实提供了很好的方法来处理模型合并和其他比较的东西.您也可以手动完成更改.
以下是他们提供的完整示例:这里