One last update: I don't think its a good idea to GWT.create() the ginjector multiple times. I got rid of this by creating it once in a static field in my entry point class, and then accessing that field within my generated class. This brings me to another question:
To find the name of the entry point class, I had to create a configuration property. Is there a way, within a generator, to access the entry point class defined in the module: <entry-point class='com.puzzlebazar.client.Puzzlebazar' /> On Mar 21, 1:01 am, PhilBeaudoin <philippe.beaud...@gmail.com> wrote: > Yeah, well... Method injection didn't work either, the method just > never got called (as expected...) > > I finally was able to make it work using the technique you proposed by > initializing the generated classes after the injector is created. > > Just to give a bit more details to anybody else interested in this... > > Here is how you define a configuration property in your > project.gwt.xml: > <define-configuration-property name="gin.injector" is-multi- > valued="false" /> > <set-configuration-property name="gin.injector" > value="com.project.client.gin.MyGinjector" /> > > Here is how you access this property in your generator: > String ginjectorClassName = > ctx.getPropertyOracle().getConfigurationProperty("gin.injector").getValues( > ).get(0); > > Now if you want an injector in the source code you generate you do: > writer.println( ginjectorClassName + " injector = GWT.create(" + > ginjectorClassName + ".class);" ); > > Thanks again Gal. This is a neat trick! > > Philippe > > On Mar 20, 8:34 pm, PhilBeaudoin <philippe.beaud...@gmail.com> wrote: > > > > > Thanks Gal, it really helped! > > > I'm not quite sure I know how to "include a folder in my lookup > > entries". Is this something I can do in Eclipse debugger? > > > The idea of using the injector directly didn't quite work, because I > > need my generated class to be instanciated .asEagerSingleton(). If I > > try calling GWT.create( MyGingector ) within the generated class I get > > infinite recursion. If I instead try to assign the MyGingector > > instance to some static variable, it doesn't work either because the > > variable isn't initialized yet. > > > However, I've decided to rework my generated class to use method > > injection instead of constructor injection and it seems to work very > > well! > > > Cheers, > > > Philippe > > > On Mar 20, 7:31 pm, Gal Dolber <gal.dol...@gmail.com> wrote: > > > > Ok, > > > > To view the generated class compile with "-gen /somepathonyourdisk", > > > another > > > tip to debug a generated class: include in your lookup entries the folder > > > where the generated classes are and you will be able to step through the > > > generated code. > > > > And to use gin into your generated class I didn't found a great solution, > > > because you can inject an interface that is generated but gin just make a > > > GWT.create(theinterface.class); and it wont inject into the generated > > > class. > > > > This is what I did: > > > Add an set-configuration-property into your module (define it first) and > > > specify on it the location of your injector, then use directly the > > > injector > > > into your generated code. Like this: > > > > <add-configuration-property name="gin.injector" > > > value="com.some.gin.MyGinInjector" /> > > > > Regards > > > > 2010/3/20 PhilBeaudoin <philippe.beaud...@gmail.com> > > > > > I'm trying to write my first GWT generator... I've gotten pretty far, > > > > but I have the following questions: > > > > 1) Is there any way to see the generated class for debugging purposes? > > > > For example, can I force GWT to produce the .java file for my > > > > generated class (it did it once when I had an error, but I can't force > > > > it to produce it every time.) Any other hints as to how to debug a > > > > generated class? > > > > 2) I'd like to use GIN to inject objects in the constructor of the > > > > generated class. I'm not quite sure if this works or how to make it > > > > work. Any hints would be great! > > > > > Thanks! > > > > > -- > > > > You received this message because you are subscribed to the Google > > > > Groups > > > > "Google Web Toolkit" group. > > > > To post to this group, send email to > > > > google-web-tool...@googlegroups.com. > > > > To unsubscribe from this group, send email to > > > > google-web-toolkit+unsubscr...@googlegroups.com<google-web-toolkit%2Bunsubs > > > > cr...@googlegroups.com> > > > > . > > > > For more options, visit this group at > > > >http://groups.google.com/group/google-web-toolkit?hl=en. -- You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group. To post to this group, send email to google-web-tool...@googlegroups.com. To unsubscribe from this group, send email to google-web-toolkit+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.