Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » TMF (Xtext) » How coud we bind XtextBuilder?(How coud we bind XtextBuilder?)
How coud we bind XtextBuilder? [message #1707137] Wed, 02 September 2015 13:57 Go to next message
kimi raikonnan is currently offline kimi raikonnanFriend
Messages: 145
Registered: June 2015
Senior Member
How coud we bind XtextBuilder?
As i need to override some functions in this class, is it possible?
Re: How coud we bind XtextBuilder? [message #1707138 is a reply to message #1707137] Wed, 02 September 2015 14:03 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
Hi,

the org.eclipse.xtext.ui.shared.overridingGuiceModule extension should allow you to register an additional guice module where you can add this binding to


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: How coud we bind XtextBuilder? [message #1707141 is a reply to message #1707138] Wed, 02 September 2015 14:23 Go to previous messageGo to next message
kimi raikonnan is currently offline kimi raikonnanFriend
Messages: 145
Registered: June 2015
Senior Member
It worked for me
Thanks Smile
Re: How coud we bind XtextBuilder? [message #1707257 is a reply to message #1707141] Thu, 03 September 2015 10:52 Go to previous messageGo to next message
kimi raikonnan is currently offline kimi raikonnanFriend
Messages: 145
Registered: June 2015
Senior Member
After adding this injection i got the exception below.
@Inject
private ResourceDescriptionsProvider resourceDescriptionsProvider;

Do you know how to fix it?

com.google.inject.CreationException: Guice creation errors:

1) No implementation for org.eclipse.xtext.resource.IResourceDescriptions annotated with @com.google.inject.name.Named(value=org.eclipse.xtext.scoping.namespaces.DefaultGlobalScopeProvider.BUILDER_SCOPE) was bound.
  while locating com.google.inject.Provider<org.eclipse.xtext.resource.IResourceDescriptions> annotated with @com.google.inject.name.Named(value=org.eclipse.xtext.scoping.namespaces.DefaultGlobalScopeProvider.BUILDER_SCOPE)
    for field at org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.builderScopeResourceDescriptions(Unknown Source)
  while locating org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider
    for field at com.mentor.svassist.xtext.dsl.ui.MyXtextBuilder.resourceDescriptionsProvider(Unknown Source)
  at com.mentor.svassist.xtext.dsl.ui.Module1.configure(Module1.java:16)

2) No implementation for org.eclipse.xtext.resource.IResourceDescriptions annotated with @com.google.inject.name.Named(value=org.eclipse.xtext.scoping.LIVE_SCOPE) was bound.
  while locating com.google.inject.Provider<org.eclipse.xtext.resource.IResourceDescriptions> annotated with @com.google.inject.name.Named(value=org.eclipse.xtext.scoping.LIVE_SCOPE)
    for field at org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.liveScopeResourceDescriptions(Unknown Source)
  while locating org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider
    for field at com.mentor.svassist.xtext.dsl.ui.MyXtextBuilder.resourceDescriptionsProvider(Unknown Source)
  at com.mentor.svassist.xtext.dsl.ui.Module1.configure(Module1.java:16)

2 errors
	at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:435)
	at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:154)
	at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:106)
	at com.google.inject.Guice.createInjector(Guice.java:95)
	at com.google.inject.Guice.createInjector(Guice.java:72)
	at com.google.inject.Guice.createInjector(Guice.java:62)
Re: How coud we bind XtextBuilder? [message #1707262 is a reply to message #1707257] Thu, 03 September 2015 11:15 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
please share your complete code

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: How coud we bind XtextBuilder? [message #1707265 is a reply to message #1707262] Thu, 03 September 2015 11:19 Go to previous messageGo to next message
kimi raikonnan is currently offline kimi raikonnanFriend
Messages: 145
Registered: June 2015
Senior Member
@SuppressWarnings("restriction")
public class MyXtextBuilder extends XtextBuilder {

   private static final Logger log = Logger.getLogger(XtextBuilder.class);
   
   @Inject
   private IBuilderState builderState;
   
   @Inject
   private RegistryBuilderParticipant participant;
   
   @Inject
   private QueuedBuildData queuedBuildData;

   @Inject
   private IBuildLogger buildLogger;

   @Inject
   private OperationCanceledManager operationCanceledManager;

   @Inject
   IResourceDescriptions anager;

   @Inject
   private ResourceDescriptionsProvider resourceDescriptionsProvider;

   @Override
   protected IProject[] build(final int kind, Map args, IProgressMonitor monitor) throws CoreException {
       //same code of XTextBuilder
   }



import org.eclipse.xtext.builder.impl.XtextBuilder;

import com.google.inject.Binder;
import com.google.inject.Module;

public class Module1 implements Module {

   public Module1() {
      // TODO Auto-generated constructor stub
   }

   @Override
   public void configure(Binder binder) {
      binder.bind(XtextBuilder.class).to(MyXtextBuilder.class);
   }

}
Re: How coud we bind XtextBuilder? [message #1707268 is a reply to message #1707265] Thu, 03 September 2015 11:29 Go to previous messageGo to next message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
looks like this is no longer poossible. can you please file a bug

Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Re: How coud we bind XtextBuilder? [message #1707271 is a reply to message #1707268] Thu, 03 September 2015 11:56 Go to previous message
Christian Dietrich is currently offline Christian DietrichFriend
Messages: 14665
Registered: July 2009
Senior Member
P.S:

you miss and @Singleton
and if you remove

@Inject
private ResourceDescriptionsProvider resourceDescriptionsProvider;


it works.
what do you need that one for?


Twitter : @chrdietrich
Blog : https://www.dietrich-it.de
Previous Topic:Generator using external compiler
Next Topic:Using Quickfix to add elements to imported ECore resource
Goto Forum:
  


Current Time: Thu Apr 25 22:10:27 GMT 2024

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

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

Back to the top