Our team is evaluating Smartgwt Enterprise and have reviewed most of the samples and relevant forum posts. As this is a new project, we would follow the suggestion to use the sql connector with ds.xml text datasource definitions.
We have a couple of questions to complete our evaluation matrix:
Unit Testing - we tried writing a simple test using GWTTestCase and encountered some problems. It seems like when one calls DataSource.get() from within the test case method, the datasource returned is null, however when I do the same thing in the regular onModuleLoad() method, the datasource get instantiated correctly.
Datasources - it is clear that datasources can be subclassed on the server side to override default behaviour and that a callback can be passed on the client to take action after a server request in methods like listgrid.fetch() etc. Is there a way to do pre/post processing on all request on the client by subclassing the client side datasource class if we are using ds.xml definitions and DataSource.get() to instantiate them? Perhaps this could be done by passing a callback to the parent class.
Transactions - I see that one can batch up requests to be processed at once on the server, what about database transactions? If I update a record through a listgrid, is this wrapped in a db transaction? How can I start my own transactions on the server using the DSRequest object or can I add a "start transaction" and "commit" statement to a customSQL operation binding?
SQL customization - I notice that there is a $defaultSelectClause, is there also a corresponding $defaultUpdateClause, $defaultDeleteClause, etc? Where is this documented?
Also some general questions:
- how long has smartgwt been in production?
- how many clients do you have?
I hope this isnt too much for one post, any answers are appreciated.
Thanks
We have a couple of questions to complete our evaluation matrix:
Unit Testing - we tried writing a simple test using GWTTestCase and encountered some problems. It seems like when one calls DataSource.get() from within the test case method, the datasource returned is null, however when I do the same thing in the regular onModuleLoad() method, the datasource get instantiated correctly.
Datasources - it is clear that datasources can be subclassed on the server side to override default behaviour and that a callback can be passed on the client to take action after a server request in methods like listgrid.fetch() etc. Is there a way to do pre/post processing on all request on the client by subclassing the client side datasource class if we are using ds.xml definitions and DataSource.get() to instantiate them? Perhaps this could be done by passing a callback to the parent class.
Transactions - I see that one can batch up requests to be processed at once on the server, what about database transactions? If I update a record through a listgrid, is this wrapped in a db transaction? How can I start my own transactions on the server using the DSRequest object or can I add a "start transaction" and "commit" statement to a customSQL operation binding?
SQL customization - I notice that there is a $defaultSelectClause, is there also a corresponding $defaultUpdateClause, $defaultDeleteClause, etc? Where is this documented?
Also some general questions:
- how long has smartgwt been in production?
- how many clients do you have?
I hope this isnt too much for one post, any answers are appreciated.
Thanks
Comment