This forum is now a read-only archive. All commenting, posting, registration services have been turned off. Those needing community support and/or wanting to ask questions should refer to the Tag/Forum map, and to http://spring.io/questions for a curated list of stackoverflow tags that Pivotal engineers, and the community, monitor.

AnnouncementAnnouncement Module

Collapse

No announcement yet.

Tutorial/material for how to customize the ROO + GWT project?Page Title Module

Comment

Top of the list wish is some blog / documentation on how to integrate Roo 1.1.1 / GWT 2.1.1 with Spring Security 3.
If this is not possible right now, could you explain why we cannot get hooks to check auth on each request using RequestFactory. Personally I don't really understand this whole thing and would really love to just know more.

Fourth, just some in depth and very technical article on how the whole GWT generation process works. The more technical the better.

I'm not asking for this because I'm lazy, I just don't get it. At my level of expertise I need more information to grasp these concepts and with no documentation on the GWT site covering any of this and no books / blogs etc available, its become a really challenge

Ok clap, clap to the GWT / Roo team,its your job and ye work on this everyday, ye have colleagues to ask questions and a lot more resources. But the average developer doesn't have these resources.

The name of this post is "Tutorial/material for how to customize the ROO + GWT project? " and its got 1,824 unique views. Almost 10 X times the average post, and it began back in 9th Oct 2010 (I'm just pointed at this one, there's lot's of other post looking for doc's / code sample etc) and still no official documentation has come from the Spring Roo / GWT addon team (I'm not taking about 2.1 doc's that are on the GWT site).

The expenses.roo sample hasn't changed / update for new functionality in ages (it doesn't even include the 1:m, m:n relationship stuff that was added). How about providing a example that show's off all the functionality that's available, or multiple samples...after all its a script (or please point me to the test script that your using)

Well anyway, I'm pretty burnt with trying to follow this project and I'm sure there's a couple of developers from the 1,824 that have taken the time to read this forum posting that feel the same.

James you do a great job of answering peoples post both here and on the issue tracker and for that were all very thankful, sorry if this comes across harsh, its just honest frustration. Doc's are coming, doc's are coming soon, ya right, like I pointed out above this post started back last October.

Please other added your 2 cents, and disagree with me if you think I'm completely wrong.

Comment

This is a free product and we all appreciate the effort but at the same time we need to express our frustration and experiments to point out the issues for the sake of the community.
Personally, I am not a newbie in any of the technologies. I have Spring, hibernate, AspectJ background and we are currently creating a massive GWT application at work (GWT 2.0) yet I haven't been able to put a decent application together that goes beyond learning purposes. I have been postponing my own project (done without Roo) since last June for the promising Roo+GWT to come. Roo users are pointing out the need for m:n entity relationship, sample authentication with spring security 3.0 and customizing the generated app for so long and yet we hear about improving auto completion of roo command!!! As a user I can type my own command please expand on the base example or enlighten me about how I can expand on the generated app, change it, customize it, add search capabilities and many other very needed features in any trivial real world app.

Comment

I've already posted in the following the gwt group of google but didn't get any response. So maybe you can help me...

Iím not new to GWT but didnít work with GWT 2.1.1 yet Ė so this is the first time.

I've spent much time in analyzing the application spring roo generated for me. There're some entities, views, activities and a very (I think) complex structure which is not made for customizing. I've read through all the documentation of google and the samples of Thomas Broyer but didn't come any further with this generated app. The next step was to paint down the structure - urgh - didn't help a lot.

Then I tried to debug and Ė wouh Ė itís getting lighter. Thatís the way after application is started and you click on the create button for a proxy (right?) :
a) Button clicked in childclass of AbstractProxyListActivity which contains the delegate logic (View -> Delegate == Activity).
b) Create a new ProxyPlace(MyProxy.class) which implies the Operation.CREATE
c) Call the PlaceController to go to the new Place
d) Ask the ActivityManager which is the next activity
- There are two mappers defined in ScaffoldDesktopApp
e) ApplicationDetailsActivities_Roo_Gwt is called b/c itís the mapper of the ActivityManager
f) The ApplicationEntityTypesProcessor chooses the correct Proxy to be handled
g) Create the mapper for the proxy with new MyProxyActivitiesMapper and get the final activity
h) Map the operation Ė we have an Operation.CREATE soÖ
i) Call the makeCreateActivity() within MyProxyActivitiesMapper which
j) Returns a wrapper for the new activity with its view MyProxyEditActivityWrapper
k) This activity wrapper is set as result of ApplicationEntityTypesProcessor
l) Which will be returned to the ActivityManager

Hereís what Iím confused about or donít understand:
1. Whatís the full functionality of ApplicationDetailsActivities_Roo_Gwt and ApplicationEntityTypesProcessor Ė seems that they choose the right proxy to handle and the correct operation to be used. But isnít there an easier, non-confusing way?
2. Why every view extends MyProxy_Roo_Gwt?
The documentation of roo says itís for better seeing, that this part is roo managed gwt code. But.. whatís there roo managed and why Ė this makes it not easier to customize the app.
3. How to update a view? Letís say a simple button which clears all fields in an editor. Or couldnít this be done by Gwt 2.1.1 without calling a new activity (and with the help of the activity Ė do we really have to pass the ďwhat to do in the viewĒ as parameters in the place?)
4. Letís say Iíd like to fire an event if a button is clicked and the menu has to handle this event. Which class has to implement the handler and how to update the view (maybe add a menu item) Ė perhaps itís like point 3.

Why I said this app is not made for customizing? This is easy: I simply like to add a button to an edit view which clears all fields of the editor. Thereís no way to do it for one editor b/c all views use the same interface with the same delegate. So I have to create a new interface and a new delegate.

Because of the new interface (which could not extend the old one, because itís not possible with the generics later in the activities) I have to create a new edit activity which contains the logic for the clear button and implements my interface.

Hmm thereís some more Ė I cannot use the original FindAndEditProxy and CreateAndEditProxy b/c they need a ProxyEditView. Okay.. create new proxies and call them ClearFindAndEditProxy and ClearCreateAndEditProxy for now and just change the constructor. At last I have to change the interfaces for the view in MyProxyEditActivityWrapper and MyProxyEditActivityWrapper_Roo_Gwt to use my ClearProxyEditView as generic type or extending it.

The questions are
- How to update the view and clear the fields?
- Is there an easier way to do this?

And I donít have any idea how to add views not based on a proxy. Is there anybody who already tried it?