Hi Jasper,
You just need to copy/move the root objects over to the CDOResource.
There's a good example in
org.eclipse.emf.cdo.internal.ui.actions.ImportResourceAction.doRun():
@Override
protected void doRun() throws Exception
{
CDOTransaction transaction = getTransaction();
// Source ResourceSet
ResourceSet sourceSet = new ResourceSetImpl();
Map<String, Object> map = sourceSet.getResourceFactoryRegistry().getExtensionToFactoryMap();
map.put("*", new XMIResourceFactoryImpl());
sourceSet.setPackageRegistry(transaction.getSession().getPackageRegistry());
// Source Resource
Resource source = sourceSet.getResource(sourceURI, true);
List<EObject> sourceContents = new ArrayList<EObject>(source.getContents());
// Target Resource
Resource target = transaction.createResource(targetPath);
EList<EObject> targetContents = target.getContents();
// Move contents over
for (EObject root : sourceContents)
{
targetContents.add(root);
}
}
|
Cheers
/Eike
Jasper schrieb:
What's the
best way to convert an XMIResource to a CDOResource? I mean, how do I
duplicate the contents of the former, in the latter?
Thanks,
/Jasper.
|