Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "FAQ for CDO and Net4j"
(→CDO) |
(→CDO) |
||
Line 18: | Line 18: | ||
=CDO= | =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?== | ==What's the best way to convert an XMIResource to a CDOResource?== |
Revision as of 06:45, 25 September 2008
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); } }