Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
FAQ for CDO and Net4j
Contents
General
How can I enable tracing?
If running as Eclipse launch config it's easy: just turn on tracing on the tracing page of the launch config (plus all net4j and cdo plugins in the list).
If running standalone:
OMPlatform.INSTANCE.addLogHandler(PrintLogHandler.CONSOLE); OMPlatform.INSTANCE.addTraceHandler(PrintTraceHandler.CONSOLE); OMPlatform.INSTANCE.setDebugging(true);
CDO
What's the best way to convert an XMIResource to a CDOResource?
You just need to copy/move the root objects over to the CDOResource. There's a good example in 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); } }