无法使用二进制资源解析EMF引用

时间:2015-07-24 14:46:39

标签: java eclipse emf eclipse-emf-ecore

我有以下EMF结构,问题是当我使用二进制资源保留EMF模型时,我无法完全加载它,因为ServiceOperationNodeServiceOperation之间的引用不能解决。 奇怪的是当我使用XMI资源时一切正常,但由于性能原因和存储要求,我们不得不使用二进制文件。 enter image description here

// first I set-up my resource registry
Resource.Factory.Registry reg = Resource.Factory.Registry.INSTANCE;
reg.getExtensionToFactoryMap().put("bin", new Resource.Factory() {
  @Override
  public Resource createResource(final URI uri) {
     return new BinaryResourceImpl(uri);
  }
});

this.resourceSet = new ResourceSetImpl();

// then I create two resources
Resource resource1 = this.resourceSet.createResource(filePath1);
Resource resource2 = this.resourceSet.createResource(filePath2);

// and add all my objects to each resource
resource1.getContents().add(...);
resource2.getContents().add(...);

// after that I save the resources
resource1.save(ResourceAdder.createOptions());
resource2.save(ResourceAdder.createOptions());

我注意到的另一件事是,当我将ServiceOperation添加到第一个资源时,我可以解析ServiceOperationNodeServiceOperation之间的引用,然后来自{{1}的另一个引用}}不再起作用......

欢迎任何想法或指示!

0 个答案:

没有答案