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
Why does CDO complain that my objects can't be cast to InternalCDOObject?
Looks as if you are not generating your model for CDO. Have you already read Preparing EMF Models for 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); } }