Opening CompareUI Dialog based on tutorial [message #1469654] |
Tue, 11 November 2014 15:00  |
Eclipse User |
|
|
|
Hi,
I would like to use the CompareUI Dialog, but CompareConfiguration() init leads to NullPointerException at this row:
CompareConfiguration ccfg = new CompareConfiguration();
Exception in thread "main" java.lang.NullPointerException
at org.eclipse.compare.CompareConfiguration.<init>(CompareConfiguration.java:279)
If I try to do it based on the tutorial, Eclipse makes me cast it to EMFCompareConfiguration and it leads to this:
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.eclipse.compare.CompareEditorInput.<clinit>(CompareEditorInput.java:163)
CompareEditorInput input = new ComparisonEditorInput((EMFCompareConfiguration) new CompareConfiguration(), comparison, editingDomain, adapterFactory);
What is wrong, what should I do?
Thanks,
Márton
|
|
|
|
|
Re: Opening CompareUI Dialog based on tutorial [message #1737050 is a reply to message #1471801] |
Tue, 05 July 2016 06:15   |
Eclipse User |
|
|
|
Hello,
I'm resuming this post because I had the exact same problem as the OP. My environment is as follows:
Version: Mars.2 Release (4.5.2)
Build id: 20160218-0600
Model comparison (EMF Compare) - 3.1.1.201509120604
According to your suggestion, I packaged all the code into a plugin. Now I'm running the code from a new Eclipse runtime instance, but it fails to execute with the following error message:
!ENTRY org.eclipse.ui 4 0 2016-07-05 11:48:57.084
!MESSAGE Unhandled event loop exception
!STACK 0
org.eclipse.e4.core.di.InjectionException: java.lang.ClassCastException: org.eclipse.compare.CompareConfiguration cannot be cast to org.eclipse.emf.compare.ide.ui.internal.configuration.EMFCompareConfiguration
at ...
Caused by: java.lang.ClassCastException: org.eclipse.compare.CompareConfiguration cannot be cast to org.eclipse.emf.compare.ide.ui.internal.configuration.EMFCompareConfiguration
at ...
... 38 more
This is the portion of code I'm using (note that, at line 3, the tutorial does not cast argument 1 to EMFCompareConfiguration):
// Instantiating an EMF Compare specific implementation of CompareEditorInput
ICompareEditingDomain editingDomain = EMFCompareEditingDomain.create(scope.getLeft(), scope.getRight(), null);
AdapterFactory adapterFactory = new ComposedAdapterFactory(ComposedAdapterFactory.Descriptor.Registry.INSTANCE);
CompareEditorInput input = new ComparisonEditorInput((EMFCompareConfiguration) new CompareConfiguration(), comparison, editingDomain, adapterFactory);
CompareUI.openCompareDialog(input); // or CompareUI.openCompareEditor(input);
Maybe it's worth to remark that I get multiple warnings for this line:
CompareEditorInput input = new ComparisonEditorInput((EMFCompareConfiguration) new CompareConfiguration(), comparison, editingDomain, adapterFactory);
Here are the warnings:
- Discouraged access: The type 'ComparisonEditorInput' is not API (restriction on required library '<eclipse-dir>\plugins\org.eclipse.emf.compare.ide.ui_4.1.1.201509120604.jar')
- Discouraged access: The constructor 'ComparisonEditorInput(EMFCompareConfiguration, Comparison, ICompareEditingDomain, AdapterFactory)' is not API (restriction on required library '<eclipse-dir>\plugins\org.eclipse.emf.compare.ide.ui_4.1.1.201509120604.jar')
- Discouraged access: The type 'EMFCompareConfiguration' is not API (restriction on required library '<eclipse-dir>\plugins\org.eclipse.emf.compare.ide.ui_4.1.1.201509120604.jar')
It seems to me that the tutorial is not in-line with latest releases of EMF compare. How do I launch the CompareUI Dialog programmatically in EMF Compare 3.1.1?
Thanks in advance. Best,
--
Matteo
[Updated on: Tue, 05 July 2016 06:30] by Moderator
|
|
|
|
|
|
Powered by
FUDForum. Page generated in 0.04046 seconds