Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » Outline view problem
Outline view problem [message #644755] Tue, 14 December 2010 07:27 Go to next message
Lita  is currently offline Lita Friend
Messages: 12
Registered: December 2010
Junior Member
When I tried to open the customised file, I get this error:
An error has occurred. See error log for more details.
Can not set org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineN odeAdapterFactory field org.eclipse.xtext.ui.editor.outline.XtextContentOutlinePage. outlineNodeAdapterFactory to packagename.MySyntaxOutlineNodeAdapterFactory


The error log contains:

Message: Problems occurred when invoking code from plug-in: "org.eclipse.ui.workbench".


Exception Stack Trace:
java.lang.IllegalArgumentException: Can not set org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineN odeAdapterFactory field org.eclipse.xtext.ui.editor.outline.XtextContentOutlinePage. outlineNodeAdapterFactory to packagename.MySyntaxOutlineNodeAdapterFactory
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentE xception(UnsafeFieldAccessorImpl.java:146)
at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentE xception(UnsafeFieldAccessorImpl.java:150)
at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFi eldAccessorImpl.java:63)
at java.lang.reflect.Field.set(Field.java:657)
at com.google.inject.SingleFieldInjector.inject(SingleFieldInje ctor.java:57)
at com.google.inject.MembersInjectorImpl.injectMembers(MembersI njectorImpl.java:99)
at com.google.inject.ConstructorInjector.construct(ConstructorI njector.java:94)
at com.google.inject.ConstructorBindingImpl$Factory.get(Constru ctorBindingImpl.java:111)
at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:75 Cool
at com.google.inject.InjectorImpl.callInContext(InjectorImpl.ja va:804)
at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
at org.eclipse.xtext.ui.editor.XtextEditor.createOutlinePage(Xt extEditor.java:230)
at org.eclipse.xtext.ui.editor.XtextEditor.getContentOutlinePag e(XtextEditor.java:221)
at org.eclipse.xtext.ui.editor.XtextEditor.getAdapter(XtextEdit or.java:214)
at org.eclipse.ui.internal.views.ViewsPlugin.getAdapter(ViewsPl ugin.java:103)
at org.eclipse.ui.views.contentoutline.ContentOutline.doCreateP age(ContentOutline.java:131)
at org.eclipse.ui.part.PageBookView.createPage(PageBookView.jav a:408)
at org.eclipse.ui.part.PageBookView.partActivated(PageBookView. java:751)
at org.eclipse.ui.views.contentoutline.ContentOutline.partBroug htToTop(ContentOutline.java:212)
at org.eclipse.ui.part.PageBookView$4.partBroughtToTop(PageBook View.java:1014)
at org.eclipse.ui.internal.PartListenerList2$2.run(PartListener List2.java:85)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.core.runtime.Platform.run(Platform.java:888)
at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartList enerList2.java:55)
at org.eclipse.ui.internal.PartListenerList2.firePartBroughtToT op(PartListenerList2.java:83)
at org.eclipse.ui.internal.PartService.firePartBroughtToTop(Par tService.java:212)
at org.eclipse.ui.internal.WorkbenchPagePartList.firePartBrough tToTop(WorkbenchPagePartList.java:76)
at org.eclipse.ui.internal.WorkbenchPagePartList.fireActiveEdit orChanged(WorkbenchPagePartList.java:52)
at org.eclipse.ui.internal.PartList.setActiveEditor(PartList.ja va:162)
at org.eclipse.ui.internal.WorkbenchPage.makeActiveEditor(Workb enchPage.java:1281)
at org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc hPage.java:3530)
at org.eclipse.ui.internal.WorkbenchPage.internalActivate(Workb enchPage.java:617)
at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage .java:589)
at org.eclipse.ui.internal.WorkbenchPage.showEditor(WorkbenchPa ge.java:2949)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched( WorkbenchPage.java:2849)
at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben chPage.java:2768)
at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag e.java:2760)
at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2711)
at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2707)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2691)
at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa ge.java:2682)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:365)
at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE ditor(EditorUtility.java:168)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:22 9)
at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:20 Cool
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchR un(SelectionDispatchAction.java:274)
at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selec tionDispatchAction.java:250)
at org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(Open AndExpand.java:49)
at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.jav a:221)
at org.eclipse.ui.navigator.CommonNavigatorManager$3.open(Commo nNavigatorManager.java:185)
at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener. open(OpenAndLinkWithEditorHelper.java:48)
at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredV iewer.java:845)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:17 5)
at org.eclipse.jface.viewers.StructuredViewer.fireOpen(Structur edViewer.java:843)
at org.eclipse.jface.viewers.StructuredViewer.handleOpen(Struct uredViewer.java:1131)
at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewe r.java:462)
at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Stru cturedViewer.java:1235)
at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrate gy.java:264)
at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.ja va:258)
at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrate gy.java:298)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 187)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3622)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3277)
at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2629)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:24 27)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
at org.eclipse.core.databinding.observable.Realm.runWithDefault (Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work bench.java:663)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start (IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips eAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher .start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS tarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
at org.eclipse.equinox.launcher.Main.run(Main.java:1407)



Session Data:
eclipse.buildId=I20100608-0911
java.version=1.6.0_20
java.vendor=Apple Inc.
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
Framework arguments: -keyring /Users/lita/.eclipse_keyring -showlocation
Command-line arguments: -os macosx -ws cocoa -arch x86_64 -keyring /Users/lita/.eclipse_keyring -showlocation


I just follow the source code as described in the following:

The Transformer file:

/*
* generated by Xtext
*/
package packagename.ui.outline;

import java.util.List;

import org.eclipse.emf.ecore.EObject;
import org.eclipse.xtext.ui.editor.outline.ContentOutlineNode;
import org.eclipse.xtext.ui.editor.outline.transformer.AbstractDecl arativeSemanticModelTransformer;

import package.MySyntax.Application;

/**
* customization of the default outline structure
*
*/
public class MySyntaxTransformer extends AbstractDeclarativeSemanticModelTransformer {
public ContentOutlineNode createNode(
Application semanticNode, ContentOutlineNode parentNode) {
ContentOutlineNode node = super.newOutlineNode(semanticNode, parentNode);
node.setLabel("Application " + node.getLabel());
return node;
}

public List<EObject> getChildren(Application attribute) {
return attribute.eContents();
}
}


The NodeAdapter file is:

package packagename.ui.outline;

import java.util.Set;

import org.eclipse.xtext.Grammar;
import org.eclipse.xtext.GrammarUtil;
import org.eclipse.xtext.generator.AbstractGeneratorFragment;
import org.eclipse.xtext.generator.BindFactory;
import org.eclipse.xtext.generator.Binding;
import org.eclipse.xtext.generator.Naming;

/**
* An {@link IGeneratorFragment} to generate a adapter factory for outline nodes.
*
* @author Peter Friese - Initial contribution and API
*/
public class MySyntaxOutlineNodeAdapterFactory extends AbstractGeneratorFragment {

@Override
public Set<Binding> getGuiceBindingsUi(Grammar grammar) {
return new BindFactory()
.addTypeToType(" org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineN odeAdapterFactory ",
getQualifiedName(grammar,getNaming()))
.getBindings();
}

public static String getQualifiedName(Grammar grammar, Naming n) {
return n.basePackageUi(grammar) + ".outline." + GrammarUtil.getName(grammar) + "OutlineNodeAdapterFactory";
}

@Override
public String[] getRequiredBundlesUi(Grammar grammar) {
return new String[]{
"org.eclipse.xtext.ui"
};
}

}


The UIModule file is:
package packagename.ui;

import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.eclipse.xtext.ui.editor.outline.transformer.ISemanticMod elTransformer;

import packagename.ui.outline.MySyntaxTransformer;

/**
* Use this class to register components to be used within the IDE.
*/
public class MySyntaxUiModule extends com.aosgrp.ui.AbstractMySyntaxUiModule {
public MySyntaxUiModule(AbstractUIPlugin plugin) {
super(plugin);
}

public Class<? extends ISemanticModelTransformer>
bindISemanticModelTransformer() {
return MySyntaxTransformer.class;
}
}



I tried to search the answer on Google and this forum but it seems that some people said it has been solved but they didn't say how to solve it. Any pointer for help is highly appreciated.

Thank you.

Best regards,

Lita

[Updated on: Tue, 14 December 2010 07:32]

Report message to a moderator

Re: Outline view problem [message #644761 is a reply to message #644755] Tue, 14 December 2010 07:36 Go to previous messageGo to next message
Sebastian Zarnekow is currently offline Sebastian ZarnekowFriend
Messages: 3118
Registered: July 2009
Senior Member
Hi Lita,

please make sure that your generated adapter factory actually implements
the interface
org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineN odeAdapterFactory
The javadoc of java.lang.reflect.Field#set() states that an
IllegalArgumentException is thrown if the value is not compatible to the
declared field.

Regards,
Sebastian
--
Need professional support for Eclipse Modeling?
Go visit: http://xtext.itemis.com

Am 14.12.10 08:28, schrieb Lita:
> When I tried to open the customised file, I get this error:
> An error has occurred. See error log for more details.
> Can not set org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineN
> odeAdapterFactory field
> org.eclipse.xtext.ui.editor.outline.XtextContentOutlinePage.
> outlineNodeAdapterFactory to packagename.MySyntaxOutlineNodeAdapterFactory
>
>
> The error log contains:
>
> Message: Problems occurred when invoking code from plug-in:
> "org.eclipse.ui.workbench".
>
>
> Exception Stack Trace:
> java.lang.IllegalArgumentException: Can not set
> org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineN
> odeAdapterFactory field
> org.eclipse.xtext.ui.editor.outline.XtextContentOutlinePage.
> outlineNodeAdapterFactory to packagename.MySyntaxOutlineNodeAdapterFactory
> at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentE
> xception(UnsafeFieldAccessorImpl.java:146)
> at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentE
> xception(UnsafeFieldAccessorImpl.java:150)
> at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFi
> eldAccessorImpl.java:63)
> at java.lang.reflect.Field.set(Field.java:657)
> at com.google.inject.SingleFieldInjector.inject(SingleFieldInje
> ctor.java:57)
> at com.google.inject.MembersInjectorImpl.injectMembers(MembersI
> njectorImpl.java:99)
> at com.google.inject.ConstructorInjector.construct(ConstructorI
> njector.java:94)
> at com.google.inject.ConstructorBindingImpl$Factory.get(Constru
> ctorBindingImpl.java:111)
> at com.google.inject.FactoryProxy.get(FactoryProxy.java:56)
> at com.google.inject.InjectorImpl$4$1.call(InjectorImpl.java:75 8)
> at com.google.inject.InjectorImpl.callInContext(InjectorImpl.ja va:804)
> at com.google.inject.InjectorImpl$4.get(InjectorImpl.java:754)
> at org.eclipse.xtext.ui.editor.XtextEditor.createOutlinePage(Xt
> extEditor.java:230)
> at org.eclipse.xtext.ui.editor.XtextEditor.getContentOutlinePag
> e(XtextEditor.java:221)
> at org.eclipse.xtext.ui.editor.XtextEditor.getAdapter(XtextEdit
> or.java:214)
> at org.eclipse.ui.internal.views.ViewsPlugin.getAdapter(ViewsPl
> ugin.java:103)
> at org.eclipse.ui.views.contentoutline.ContentOutline.doCreateP
> age(ContentOutline.java:131)
> at org.eclipse.ui.part.PageBookView.createPage(PageBookView.jav a:408)
> at org.eclipse.ui.part.PageBookView.partActivated(PageBookView. java:751)
> at org.eclipse.ui.views.contentoutline.ContentOutline.partBroug
> htToTop(ContentOutline.java:212)
> at org.eclipse.ui.part.PageBookView$4.partBroughtToTop(PageBook
> View.java:1014)
> at org.eclipse.ui.internal.PartListenerList2$2.run(PartListener
> List2.java:85)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.core.runtime.Platform.run(Platform.java:888)
> at org.eclipse.ui.internal.PartListenerList2.fireEvent(PartList
> enerList2.java:55)
> at org.eclipse.ui.internal.PartListenerList2.firePartBroughtToT
> op(PartListenerList2.java:83)
> at org.eclipse.ui.internal.PartService.firePartBroughtToTop(Par
> tService.java:212)
> at org.eclipse.ui.internal.WorkbenchPagePartList.firePartBrough
> tToTop(WorkbenchPagePartList.java:76)
> at org.eclipse.ui.internal.WorkbenchPagePartList.fireActiveEdit
> orChanged(WorkbenchPagePartList.java:52)
> at org.eclipse.ui.internal.PartList.setActiveEditor(PartList.ja va:162)
> at org.eclipse.ui.internal.WorkbenchPage.makeActiveEditor(Workb
> enchPage.java:1281)
> at org.eclipse.ui.internal.WorkbenchPage.setActivePart(Workbenc
> hPage.java:3530)
> at org.eclipse.ui.internal.WorkbenchPage.internalActivate(Workb
> enchPage.java:617)
> at org.eclipse.ui.internal.WorkbenchPage.activate(WorkbenchPage .java:589)
> at org.eclipse.ui.internal.WorkbenchPage.showEditor(WorkbenchPa
> ge.java:2949)
> at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditorBatched(
> WorkbenchPage.java:2849)
> at org.eclipse.ui.internal.WorkbenchPage.busyOpenEditor(Workben
> chPage.java:2768)
> at org.eclipse.ui.internal.WorkbenchPage.access$11(WorkbenchPag
> e.java:2760)
> at org.eclipse.ui.internal.WorkbenchPage$10.run(WorkbenchPage.j ava:2711)
> at org.eclipse.swt.custom.BusyIndicator.showWhile(BusyIndicator .java:70)
> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa
> ge.java:2707)
> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa
> ge.java:2691)
> at org.eclipse.ui.internal.WorkbenchPage.openEditor(WorkbenchPa
> ge.java:2682)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:651)
> at org.eclipse.ui.ide.IDE.openEditor(IDE.java:610)
> at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE
> ditor(EditorUtility.java:365)
> at org.eclipse.jdt.internal.ui.javaeditor.EditorUtility.openInE
> ditor(EditorUtility.java:168)
> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:22 9)
> at org.eclipse.jdt.ui.actions.OpenAction.run(OpenAction.java:20 8)
> at org.eclipse.jdt.ui.actions.SelectionDispatchAction.dispatchR
> un(SelectionDispatchAction.java:274)
> at org.eclipse.jdt.ui.actions.SelectionDispatchAction.run(Selec
> tionDispatchAction.java:250)
> at org.eclipse.jdt.internal.ui.navigator.OpenAndExpand.run(Open
> AndExpand.java:49)
> at org.eclipse.ui.actions.RetargetAction.run(RetargetAction.jav a:221)
> at org.eclipse.ui.navigator.CommonNavigatorManager$3.open(Commo
> nNavigatorManager.java:185)
> at org.eclipse.ui.OpenAndLinkWithEditorHelper$InternalListener.
> open(OpenAndLinkWithEditorHelper.java:48)
> at org.eclipse.jface.viewers.StructuredViewer$2.run(StructuredV
> iewer.java:845)
> at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
> at org.eclipse.ui.internal.JFaceUtil$1.run(JFaceUtil.java:49)
> at org.eclipse.jface.util.SafeRunnable.run(SafeRunnable.java:17 5)
> at org.eclipse.jface.viewers.StructuredViewer.fireOpen(Structur
> edViewer.java:843)
> at org.eclipse.jface.viewers.StructuredViewer.handleOpen(Struct
> uredViewer.java:1131)
> at org.eclipse.ui.navigator.CommonViewer.handleOpen(CommonViewe r.java:462)
> at org.eclipse.jface.viewers.StructuredViewer$6.handleOpen(Stru
> cturedViewer.java:1235)
> at org.eclipse.jface.util.OpenStrategy.fireOpenEvent(OpenStrate
> gy.java:264)
> at org.eclipse.jface.util.OpenStrategy.access$2(OpenStrategy.ja va:258)
> at org.eclipse.jface.util.OpenStrategy$1.handleEvent(OpenStrate
> gy.java:298)
> at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java :84)
> at org.eclipse.swt.widgets.Display.sendEvent(Display.java:3776)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1367)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1390)
> at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1375)
> at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1 187)
> at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.ja va:3622)
> at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java :3277)
> at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.jav a:2629)
> at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2593)
> at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:24 27)
> at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:670)
> at org.eclipse.core.databinding.observable.Realm.runWithDefault
> (Realm.java:332)
> at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Work
> bench.java:663)
> at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.j ava:149)
> at org.eclipse.ui.internal.ide.application.IDEApplication.start
> (IDEApplication.java:115)
> at org.eclipse.equinox.internal.app.EclipseAppHandle.run(Eclips
> eAppHandle.java:196)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher
> .runApplication(EclipseAppLauncher.java:110)
> at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher
> .start(EclipseAppLauncher.java:79)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS
> tarter.java:369)
> at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseS
> tarter.java:179)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce
> ssorImpl.java:39)
> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe
> thodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:597)
> at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java: 619)
> at org.eclipse.equinox.launcher.Main.basicRun(Main.java:574)
> at org.eclipse.equinox.launcher.Main.run(Main.java:1407)
>
>
> Session Data:
> eclipse.buildId=I20100608-0911
> java.version=1.6.0_20
> java.vendor=Apple Inc.
> BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=en_US
> Framework arguments: -keyring /Users/lita/.eclipse_keyring -showlocation
> Command-line arguments: -os macosx -ws cocoa -arch x86_64 -keyring
> /Users/lita/.eclipse_keyring -showlocation
>
> I just follow the source code as described in the following:
>
> The Transformer file:
>
> /*
> * generated by Xtext
> */
> package com.aosgrp.ui.outline;
>
> import java.util.List;
>
> import org.eclipse.emf.ecore.EObject;
> import org.eclipse.xtext.ui.editor.outline.ContentOutlineNode;
> import org.eclipse.xtext.ui.editor.outline.transformer.AbstractDecl
> arativeSemanticModelTransformer;
>
> import package.MySyntax.Application;
>
> /**
> * customization of the default outline structure
> * */
> public class MySyntaxTransformer extends
> AbstractDeclarativeSemanticModelTransformer {
> public ContentOutlineNode createNode(
> Application semanticNode, ContentOutlineNode parentNode) {
> ContentOutlineNode node = super.newOutlineNode(semanticNode, parentNode);
> node.setLabel("Application " + node.getLabel());
> return node;
> }
>
> public List<EObject> getChildren(Application attribute) {
> return attribute.eContents();
> }
> }
>
> The NodeAdapter file is:
>
> package packagename.ui.outline;
>
> import java.util.Set;
>
> import org.eclipse.xtext.Grammar;
> import org.eclipse.xtext.GrammarUtil;
> import org.eclipse.xtext.generator.AbstractGeneratorFragment;
> import org.eclipse.xtext.generator.BindFactory;
> import org.eclipse.xtext.generator.Binding;
> import org.eclipse.xtext.generator.Naming;
>
> /**
> * An {@link IGeneratorFragment} to generate a adapter factory for
> outline nodes.
> * * @author Peter Friese - Initial contribution and API
> */
> public class MySyntaxOutlineNodeAdapterFactory extends
> AbstractGeneratorFragment {
>
> @Override
> public Set<Binding> getGuiceBindingsUi(Grammar grammar) {
> return new BindFactory()
> .addTypeToType("
> org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineN
> odeAdapterFactory ",
> getQualifiedName(grammar,getNaming()))
> .getBindings();
> }
>
> public static String getQualifiedName(Grammar grammar, Naming n) {
> return n.basePackageUi(grammar) + ".outline." +
> GrammarUtil.getName(grammar) + "OutlineNodeAdapterFactory";
> }
>
> @Override
> public String[] getRequiredBundlesUi(Grammar grammar) {
> return new String[]{
> "org.eclipse.xtext.ui"
> };
> }
> }
>
>
> The UIModule file is:
> package com.aosgrp.ui;
>
> import org.eclipse.ui.plugin.AbstractUIPlugin;
> import org.eclipse.xtext.ui.editor.outline.transformer.ISemanticMod
> elTransformer;
>
> import com.aosgrp.ui.outline.CbdiTransformer;
>
> /**
> * Use this class to register components to be used within the IDE.
> */
> public class CbdiUiModule extends com.aosgrp.ui.AbstractCbdiUiModule {
> public CbdiUiModule(AbstractUIPlugin plugin) {
> super(plugin);
> }
>
> public Class<? extends ISemanticModelTransformer>
> bindISemanticModelTransformer() {
> return CbdiTransformer.class;
> }
> }
>
>
> I tried to search the answer on Google and this forum but it seems that
> some people said it has been solved but they didn't say how to solve it.
> Any pointer for help is highly appreciated.
>
> Thank you.
>
> Best regards,
>
> Lita
Re: Outline view problem [message #644762 is a reply to message #644761] Tue, 14 December 2010 07:43 Go to previous messageGo to next message
Sebastian Zarnekow is currently offline Sebastian ZarnekowFriend
Messages: 3118
Registered: July 2009
Senior Member
My bad ... Guice would tell you propably upfront if your configuration
is inconsistent. Do you have multiple versions of Xtext plugins in your
bundle dependencies? Are there any plugins like
org.eclipse.xtext.ui.core or ..ui.common besides the plain xtext.ui plugin?

Regards,
Sebastian

Am 14.12.10 08:36, schrieb Sebastian Zarnekow:
> Hi Lita,
>
> please make sure that your generated adapter factory actually implements
> the interface
> org.eclipse.xtext.ui.editor.outline.actions.IContentOutlineN odeAdapterFactory
>
> The javadoc of java.lang.reflect.Field#set() states that an
> IllegalArgumentException is thrown if the value is not compatible to the
> declared field.
>
> Regards,
> Sebastian
Re: Outline view problem [message #644962 is a reply to message #644762] Wed, 15 December 2010 01:26 Go to previous messageGo to next message
Lita  is currently offline Lita Friend
Messages: 12
Registered: December 2010
Junior Member
Sebastian Zarnekow wrote on Tue, 14 December 2010 02:43
My bad ... Guice would tell you propably upfront if your configuration
is inconsistent. Do you have multiple versions of Xtext plugins in your
bundle dependencies? Are there any plugins like
org.eclipse.xtext.ui.core or ..ui.common besides the plain xtext.ui plugin?





Hi Sebastian,

Thank you for replying. I am not sure if there are multiple versions of Xtext plugins in the bundle dependencies. Below is the content of the manifest file:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: companyname.syntaxname
Bundle-Vendor: My Company
Bundle-Version: 1.0.0
Bundle-SymbolicName: companyname.syntaxname;singleton:=true
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.xtext,
org.eclipse.xtext.generator;resolution:=optional,
org.apache.commons.logging;resolution:=optional,
org.eclipse.emf.codegen.ecore;resolution:=optional,
org.eclipse.emf.mwe.utils;resolution:=optional,
org.eclipse.emf.mwe2.launch;resolution:=optional,
com.ibm.icu;resolution:=optional,
org.eclipse.xtext.xtend;resolution:=optional,
org.eclipse.xtext.util,
org.eclipse.emf.ecore,
org.eclipse.emf.common,
org.antlr.runtime
Import-Package: org.apache.log4j,
org.eclipse.swt,
org.eclipse.swt.graphics,
org.eclipse.xtext.ui.editor.syntaxcoloring,
org.eclipse.xtext.ui.editor.syntaxcoloring.antlr,
org.eclipse.xtext.ui.editor.utils
Bundle-RequiredExecutionEnvironment: J2SE-1.5


I think it depends on different packages of "org.eclipse.xtext.ui.editor". Where else shall I check for bundle dependencies?

Here is the list of Xtext UI plugins the eclipse/plugins directory :

org.eclipse.xtext.ui.ecore.source_1.0.1.v201008251220.jar
org.eclipse.xtext.ui.ecore_1.0.1.v201008251220.jar
org.eclipse.xtext.ui.junit.source_1.0.1.v201008251220.jar
org.eclipse.xtext.ui.junit_1.0.1.v201008251220.jar
org.eclipse.xtext.ui.shared.source_1.0.1.v201008251220.jar
org.eclipse.xtext.ui.shared_1.0.1.v201008251220.jar
org.eclipse.xtext.ui.source_1.0.1.v201008251220.jar
org.eclipse.xtext.ui_1.0.1.v201008251220.jar


Does it matter even though I don't include them in the manifest file?

How about the deprecated IContentOutlineNodeFactory.java? It is said that we need to write our own GetAdapter class but there was not any example so I am not sure what to do about it.

Thank you.

Best regards,

Lita

Re: Outline view problem [message #645391 is a reply to message #644762] Fri, 17 December 2010 01:20 Go to previous message
Lita  is currently offline Lita Friend
Messages: 12
Registered: December 2010
Junior Member
What are the possible causes of these errors?
If there is a list then I can eliminate the cause one by one, thanks.
Previous Topic:documentation on PolymorphicDispatch
Next Topic:[solved] Content Assist with "dynamic templates"
Goto Forum:
  


Current Time: Sat Apr 27 00:39:16 GMT 2024

Powered by FUDForum. Page generated in 0.03364 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top