You have no idea how deep the rabbit hole is :)

On 22 March 2010 03:06, Philippe Beaudoin <[email protected]>wrote:

> Yes. Much simpler indeed. Would you believe I didn't even know you could
> have static instances attached to interfaces... I'm still relatively new to
> Java. :)
>
> Cheers and thanks again.
>
> On Sun, Mar 21, 2010 at 2:02 PM, Gal Dolber <[email protected]> wrote:
>
>> You don't need to do that, you can just put a static instance of the
>> Injector on the injector interface.
>>
>> 2010/3/21 PhilBeaudoin <[email protected]>
>>
>>> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 <[email protected]>
>>> >
>>> > > > > 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
>>> [email protected].
>>> > > > > To unsubscribe from this group, send email to
>>> > > > > [email protected]<google-web-toolkit%[email protected]><google-web-toolkit%2Bunsubs
>>> [email protected]>
>>> > > > > .
>>> > > > > 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 [email protected]
>>> .
>>> To unsubscribe from this group, send email to
>>> [email protected]<google-web-toolkit%[email protected]>
>>> .
>>> 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 [email protected].
>> To unsubscribe from this group, send email to
>> [email protected]<google-web-toolkit%[email protected]>
>> .
>> 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 [email protected].
> To unsubscribe from this group, send email to
> [email protected]<google-web-toolkit%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/google-web-toolkit?hl=en.
>



-- 
Regards,
Alexander

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to